假设我有以下代码:
$myString = 'FilE.EXE';
strlower($myString);
我想将名称减去其小写的扩展名,但上面的代码将使整个字符串变为小写。有没有办法可以在没有扩展名的情况下更改名称?如果是这样,最有效的方法是什么?
所需的输出:' file.EXE';
答案 0 :(得分:3)
使用pathinfo
$myString = 'FilE.EXE';
$new_string = strtolower(pathinfo($myString, PATHINFO_FILENAME)) . '.' . pathinfo($myString, PATHINFO_EXTENSION);
echo $new_string;
答案 1 :(得分:2)
你需要做这样的事情:
$string = "FilE.EXE";
list($name, $extension) = explode('.', $string);
$string = implode('.', array(strtolower($name), $extension));
希望它有所帮助。
答案 2 :(得分:1)
做的:
$myString = 'FilE.EXE';
$txt = strtolower( substr( $myString, 0, strrpos($myString, ".") ) )
.substr( $myString, strrpos($myString, "."), strlen($myString));
echo $txt; //gives file.EXE
答案 3 :(得分:1)
您可能希望使用pathinfo()功能:
$myString = 'FilE.iNc.EXE';
$path_parts = pathinfo($myString);
$myNewString = implode('.', array(
strtolower($path_parts['filename']),
$path_parts['extension']
));
所以它可以输出这个:
file.inc.EXE
答案 4 :(得分:1)
<?php
$myString = 'FilE.EXE';
$txt = strtolower( substr( $myString, 0, strrpos($myString, ".") ) );
$hell = substr( $myString, strrpos($myString, "."), strlen($myString));
$babe = $txt.$hell;
echo $babe;