>백엔드 개발 >PHP 튜토리얼 >替换preg_replace.如何老是【吃掉】前面的一个字符.

替换preg_replace.如何老是【吃掉】前面的一个字符.

WBOY
WBOY원래의
2016-06-13 10:31:58948검색

替换preg_replace.怎么老是【吃掉】前面的一个字符...
为什么用下面代码进行替换.怎么老是吃掉前面的一个字符......

代码如下:这两句代码都有这个问题...

PHP code
<!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->        $newstext = preg_replace('/'.$r[keyname].'/u','<a href="%5C''.%24r%5Bkeyurl%5D.'%5C'" target="\'_blank\'">'.$r[keyname].'</a>',$newstext,$public_r[repkeynum]);


PHP code
<!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->        $newstext = preg_replace('/[^=>]'.$r[keyname].'/u','<a href="%5C''.%24r%5Bkeyurl%5D.'%5C'" target="\'_blank\'">'.$r[keyname].'</a>',$newstext,$public_r[repkeynum]);


比如说...string = "我的美好一天从此开始了"
关键词是 : 美好

替换后就成了 : 我美好一天从此开始了

搞的我好郁闷啊....

------解决方案--------------------
不会出现你说的情况。你的 $r[keyname] 是什么东西?
------解决方案--------------------
第一式正确
第二式是你说的现象: [^=>] 会吃掉一个字符
------解决方案--------------------
求解
------解决方案--------------------

$str = "我的美好的一天开始了";
$newstext = preg_replace('/美好/', '美好', $str);
echo $newstext;
?>
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.