php,将字符串添加到filename

Adr*_*ian 3 html php

我有两个变量:

$lang = hu

$image = image.jpg
Run Code Online (Sandbox Code Playgroud)

如何在php中将image.jpg替换为image_hu.jpg?也许用str_replace?但是怎么样?

Tim*_*per 5

使用preg_replace效果很好:

$new_str = preg_replace('/(\.[^.]+)$/', sprintf('%s$1', $lang), $image);
Run Code Online (Sandbox Code Playgroud)


Dut*_*432 5

此方法适用于任何文件类型,并且图像名称具有多个句点.(演示)

<?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)