当前位置: 编程技术>php
PHP替换字符串(只替换首个字符串)
来源: 互联网 发布时间:2014-08-30
本文导语: 进行一次字符串的替换,原理:在原字符串中查找目标字符串,只替换第一次出现的目标字符串。 例如: $str='这是一串字符串,你想在这abc里查找替换,个神经或中枢都分别掌管人类的心理、情绪和肉体各方面反应。此外,...
进行一次字符串的替换,原理:在原字符串中查找目标字符串,只替换第一次出现的目标字符串。
例如:
$str='这是一串字符串,你想在这abc里查找替换,个神经或中枢都分别掌管人类的心理、情绪和肉体各方面反应。此外,还有一个在灵性方面掌管我们的开悟和永恆的快乐,这个小中枢就在大脑接近中央的地方,也就是额头中央和头顶进去到头部三分之二的地方,智abc慧眼确实就在这个地方、真的在裡面。';
把第一个abc替换成xyz,由于要替换的字符串是固定的,很多人想到了用str_replace()函数:
str_replace( mixed $search , mixed $replace , mixed $subject [, int &$count ] )
最后那个参数是返回替换发生的总次数,它是一个引用变量,而不是我要想要的指定它将替换几次,所以用str_replace()是不行的
preg_replace()是可以实现的,可惜用了正则,
代码示例:
$str=preg_replace('/abc/','xyz',$str,1);
echo $str;
echo $str;
不用正则的字符串替换代码:
代码示例:
$replace='xyz';
if(($position=strpos($str,$replace))!==false){
$leng=strlen($replace);
$str=substr_replace($str,'xyz',$position,$leng);
}
echo $str;
if(($position=strpos($str,$replace))!==false){
$leng=strlen($replace);
$str=substr_replace($str,'xyz',$position,$leng);
}
echo $str;