我知道这是一个非常简单的问题,但我只是想知道是否有a native php method to inject a string into another string
。我对新文本操作的通常回应是查阅manual的字符串函数列表。但是我没有看到任何将字符串显式插入另一个字符串的本地方法,所以我想我会咨询SO。
答案很可能是php本机字符串函数的某种组合,或者只是正则表达式(这会使我的眼睛出血并且我的大脑融化,所以我避免它)。
EX:
取some-image.jpg
之类的字符串,然后在.big
产生.jpg
之前注入some-image.big.jpg
答案 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);