我有两个变量:
$lang = hu
$image = image.jpg
Run Code Online (Sandbox Code Playgroud)
如何在php中将image.jpg替换为image_hu.jpg?也许用str_replace?但是怎么样?
使用preg_replace效果很好:
$new_str = preg_replace('/(\.[^.]+)$/', sprintf('%s$1', $lang), $image);
Run Code Online (Sandbox Code Playgroud)
此方法适用于任何文件类型,并且图像名称具有多个句点.(演示)
码
<?php
echo merge('image.test.1234.gif', '_en');
function merge($file, $language){
$ext = pathinfo($file, PATHINFO_EXTENSION);
$filename = str_replace('.'.$ext, '', $file).$language.'.'.$ext;
return ($filename);
}
?>
Run Code Online (Sandbox Code Playgroud)
结果
image.test.1234_en.gif
Run Code Online (Sandbox Code Playgroud)