php字符串替换问题

php字符串。替换问题。就象现在的这段话。有很多的“。”号,。号的个数是随机的。我要实现的效果是:把第四个。号替换成B。

$str = 'php字符串。替换问题。就象现在的这段话。有很多的"。"号,。号的个数是随机的。我要实现的效果是:把第四个。号替换成B。';
echo $str, '<Br />';

$arr = explode('。', $str);
if(count($arr) > 4) {
$arr[3] = $arr[3].'B'.$arr[4]; unset($arr[4]);
$str = implode('。', $arr);
}
echo $str;
或者下面这个

if(substr_count($str, '。') > 4) {
$n = $pos = 0;
do {
$pos = strpos($str, '。', $pos+1);
$n++;
if($n==4) break;
} while($pos !== false);
echo substr_replace($str, 'B', $pos, 1);
}
或者使用正则。当然,正则的方法你就慢慢做吧,如果想用正则或者还有其它什么疑问,可以直接问我1114391317

最好看看这些代码,根据自己的实际情况改一下追问

这段字符串其实是文章内容,一般比较长 想问下以上两种方法 哪种效率会高些呢?

来自:求助得到的回答
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-02-24
这段字符串其实是文章内容,一般比较长 想问下以上两种方法 哪种效率会高些呢?
——句号比较多的话,肯定是strpos()+substr_replace()要快,还省内存。
相似回答
大家正在搜