我正在尝试实现以下转换:
IM22_htp.JPG - > IM22_htp.jpg
到目前为止,我已经尝试了以下但它似乎不起作用:
$string = "IM22_htp.JPG";
$pattern = '/(.+) \.(\w+)/i';
$replacement = '${1}\. strtolower($3)';
echo preg_replace($pattern, $replacement, $string);
Run Code Online (Sandbox Code Playgroud)
使用正则表达式:
$string = "IM22_htp.JPG";
$new_string = preg_replace_callback('/\.\w+$/', function($m){
return strtolower($m[0]);
}, $string);
echo $new_string;
Run Code Online (Sandbox Code Playgroud)
使用pathinfo():
$string = "IM22_htp.JPG";
$new_string = pathinfo($string, PATHINFO_FILENAME) . '.' . strtolower(pathinfo($string, PATHINFO_EXTENSION));
echo $new_string;
Run Code Online (Sandbox Code Playgroud)