在给定索引的情况下将字符串插入字符串

时间:2010-09-13 20:50:52

标签: php string

我知道这是一个非常简单的问题,但我只是想知道是否有a native php method to inject a string into another string。我对新文本操作的通常回应是查阅manual的字符串函数列表。但是我没有看到任何将字符串显式插入另一个字符串的本地方法,所以我想我会咨询SO。

答案很可能是php本机字符串函数的某种组合,或者只是正则表达式(这会使我的眼睛出血并且我的大脑融化,所以我避免它)。

EX: 取some-image.jpg之类的字符串,然后在.big产生.jpg之前注入some-image.big.jpg

3 个答案:

答案 0 :(得分:24)

您可以使用substr_replace通过用插入替换零长度子字符串来插入字符串:

$string = "some-image.jpg";
$insertion = ".big";
$index = 10;

$result = substr_replace($string, $insertion, $index, 0);

从手册页(length(第4个)参数的说明):

  

如果length为零,则此函数将具有在给定的起始偏移处将替换插入字符串的效果。

答案 1 :(得分:8)

You can do anything with regular expressions

根据您的具体要求,解决方案是:

$var = 'myimage.jpg';
$new_var = preg_replace('/\.jpg$/', '.big$0', $var);

我建议阅读如何编写正则表达式,因为它们在开发中非常有用(here's a starting point)。

答案 2 :(得分:7)

请参阅:http://www.krizka.net/2007/12/29/how-to-insert-a-string-into-another-string-in-php/

$newstring=substr_replace($orig_string, $insert_string, $position, 0);