网站制作学习网PHP→正文:php正则替换一次
字体:

php正则替换一次

PHP 2014/10/30 11:52:03  点击:不统计


%77w%77%2Ef%6F%72p%73%70%2Ec%6E
 在做文章中需要正则替换关键词连接,当文章中有对应关键词时,使用php正则替换一次连接即可。

首次替换链接代码
<?php
header('Content-type: text/html; charset=UTF-8');
$content = "网站制作学习网-php正则替换一次,替换一次连接 网站制作学习网首发";
$forasp['网站制作学习'] = "wangzhanzhizuoxuexi";
foreach($forasp as $k=>$v){
$replace = "<a href='http://www.forasp.com/' target='_blank' title=".$v.">".$k."</a>";
$content = preg_replace("/".$k."/u",$replace,$content,1);
}
echo $content;
?>
替换结果
<a href='http://www.forasp.com/' target='_blank' title=wangzhanzhizuoxuexi>网站制作学习</a>网-php正则替换一次,替换一次连接 网站制作学习网首发
 
但是在文章中有多个文字或者多个替换内容重叠的时候则需要修改正则,比如下面的
 
<?php
header('Content-type: text/html; charset=UTF-8');
$content = "网站制作学习网-php正则替换一次,替换一次连接 网站制作学习网首发";
$forasp['网站制作学习'] = "wangzhanzhizuoxuexi";
$forasp['网站制作'] = "wangzhanzhisuo";
ksort($cn);
foreach($forasp as $k=>$v){
$replace = "<a href='http://www.forasp.com/' target='_blank' title=".$v.">".$k."</a>";
$content = preg_replace("/(?!>)".$k."(?!<)/u",$replace,$content,1);
}
echo $content;
?>
如果是第一种替换的画结果为
<a href='http://www.forasp.com/' target='_blank' title=wangzhanzhizuoxuexi><a href='http://www.forasp.com/' target='_blank' title=wangzhanzhisuo>网站制作</a>学习</a>网-php正则替换一次,替换一次连接 网站制作学习网首发
 
第二种替换则为:
<a href='http://bbb.daichuqu.com/' target='_blank'>网站制作</a>学习网-php正则替换一次,替换一次连接 <a href='http://aaa.daichuqu.com/' target='_blank'>网站制作学习</a>网首发
 
这样就实现了不重叠的替换

http://www.forasp.cn/
原文章%77w%77%2Ef%6F%72%61%73%70%2E%63n

·上一篇:Thinkphp session失效 session丢失 >>    ·下一篇:php curl模拟请求ajax >>
推荐文章
最新文章