有没有PHP函数可以做到这一点?
我使用strpos来获取子字符串的位置,我想在该位置之后插入一个字符串。
有没有PHP函数可以做到这一点?
我使用strpos来获取子字符串的位置,我想在该位置之后插入一个字符串。
当前回答
function insSubstr($str, $sub, $posStart, $posEnd){
return mb_substr($str, 0, $posStart) . $sub . mb_substr($str, $posEnd + 1);
}
其他回答
使用stringInsert函数,而不是putinplace函数。我使用后面的函数来解析mysql查询。虽然输出看起来不错,但查询导致了一个错误,我花了一段时间才找到。下面是只需要一个形参的stringInsert函数的版本。
function stringInsert($str,$insertstr,$pos)
{
$str = substr($str, 0, $pos) . $insertstr . substr($str, $pos);
return $str;
}
$str = substr($oldstr, 0, $pos) . $str_to_insert . substr($oldstr, $pos);
PHP手册中的substr
奇怪的答案!您可以使用sprintf[文档链接]轻松地将字符串插入到其他字符串中。这个函数非常强大,可以处理多个元素和其他数据类型。
$color = 'green';
sprintf('I like %s apples.', $color);
给你字符串
I like green apples.
我有一个老函数
function putinplace($string=NULL, $put=NULL, $position=false)
{
$d1=$d2=$i=false;
$d=array(strlen($string), strlen($put));
if($position > $d[0]) $position=$d[0];
for($i=$d[0]; $i >= $position; $i--) $string[$i+$d[1]]=$string[$i];
for($i=0; $i<$d[1]; $i++) $string[$position+$i]=$put[$i];
return $string;
}
// Explanation
$string='My dog dont love postman'; // string
$put="'"; // put ' on position
$position=10; // number of characters (position)
print_r( putinplace($string, $put, $position) ); //RESULT: My dog don't love postman
这是一个功能强大的小函数,它完美地完成了自己的工作。
str_replace($sub_str, $insert_str.$sub_str, $org_str);