我有字符串(链接)
我想在此字符串中插入某些字符 {s}
Patern:http://i.imgur.com/filename{character}.extension
之前: http://i.imgur.com/7k8t8pC.png
之后:http://i.imgur.com/7k8t8pCs.png
答案 0 :(得分:2)
怎么样:
function addstring($ch,$string){
$array = explode('/',$string);
$name = explode('.',end($array));
array_pop($array);
$new = implode('/',$array);
return $new.'/'.$name[0].$ch.'.'.$name[1];
}
var_dump(addstring('CHAR','http://i.imgur.com/7k8t8pC.png'));
答案 1 :(得分:1)
我犹豫要发布这个,但是因为你正在使用路径而不是:
$info = pathinfo($string);
$result = $info['dirname'] . "/" . $info['filename'] . "s." . $info['extension'];
答案 2 :(得分:0)
您可以使用substr_replace:
的小技巧$newstring = substr_replace( "http://i.imgur.com/7k8t8pC.png", "s", 26, 0);
编辑,一点解释: 它允许用另一个字符串替换部分字符串。您传递原始字符串,要插入的字符串,起始点以及要替换的字符数。但是,如果传递0,那么它会将第二个字符串插入到给定位置的第一个字符串中。
答案 3 :(得分:0)
您可以使用preg_replace()
:
$str = 'http://i.imgur.com/7k8t8pC.png';
echo preg_replace('/(\.png)/', 's$1', $str);
结果:
http://i.imgur.com/7k8t8pCs.png
或使用str_replace()
:
$str = 'http://i.imgur.com/7k8t8pC.png';
echo str_replace('.png', 's.png', $str);
结果:
http://i.imgur.com/7k8t8pCs.png