为什么用下面代码进行替换.怎么老是吃掉前面的一个字符......代码如下:这两句代码都有这个问题...
$newstext = preg_replace('/'.$r[keyname].'/u','<a href=\''.$r[keyurl].'\' target=\'_blank\' >'.$r[keyname].'</a>',$newstext,$public_r[repkeynum]); $newstext = preg_replace('/[^=>]'.$r[keyname].'/u','<a href=\''.$r[keyurl].'\' target=\'_blank\' >'.$r[keyname].'</a>',$newstext,$public_r[repkeynum]);
比如说...string = "我的美好一天从此开始了"
关键词是 : 美好替换后就成了 : 我<a href=xx>美好</a>一天从此开始了搞的我好郁闷啊....
$newstext = preg_replace('/'.$r[keyname].'/u','<a href=\''.$r[keyurl].'\' target=\'_blank\' >'.$r[keyname].'</a>',$newstext,$public_r[repkeynum]); $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 = array();
$r['keyname'] = '美好';
$r['keyurl'] = 'www.linktest.com';
$newstext = '我的美好一天从此开始了';
$newstext = preg_replace('/'.$r['keyname'].'/u','<a href=\''.$r['keyurl'].'\' target=\'_blank\' >'.$r['keyname'].'</a>',$newstext);
echo $newstext;
?>
显示结果为:
我的<a href='www.linktest.com' target='_blank' >美好</a>一天从此开始了
没有任何问题啊。还有,建议数组的key值用单引号,$r[keyname]不建议,建议为$r['keyname']。