替换preg_replace.怎么老是【吃掉】前面的一个字符...
为什么用下面代码进行替换.怎么老是吃掉前面的一个字符......
代码如下:这两句代码都有这个问题...
PHP code
$newstext = preg_replace('/'.$r[keyname].'/u','<a href=\''.$r[keyurl].'\' target=\'_blank\' >'.$r[keyname].'</a>',$newstext,$public_r[repkeynum]);
PHP code
$newstext = preg_replace('/[^=>]'.$r[keyname].'/u','<a href=\''.$r[keyurl].'\' target=\'_blank\' >'.$r[keyname].'</a>',$newstext,$public_r[repkeynum]);
比如说...string = "我的美好一天从此开始了"
关键词是 : 美好
替换后就成了 : 我<a href=xx>美好</a>一天从此开始了
搞的我好郁闷啊....
------解决方案--------------------不会出现你说的情况。你的 $r[keyname] 是什么东西?
------解决方案--------------------第一式正确
第二式是你说的现象: [^=>] 会吃掉一个字符
------解决方案--------------------求解
------解决方案--------------------<?php
$str = "我的美好的一天开始了";
$newstext = preg_replace('/美好/', '<a href=\'aaa.com\' target=\'_blank\' >美好</a>', $str);
echo $newstext;
?>