通过正则环视结构只替换html标签外的内容
本主题由 神墓 创建于 2009-11-11 21:34:21有这样一段代码
代码如下
$string='<div>
<a href="http://www.geekaa.com">pylong</a> is very good and I love geekaa.
<img src="http://www. geekaa.com/logo.gif">
This is the logo of geekaa.com
</div>';
因为html标签如a,img等里面的内容是不能替换的,所以这就要用到PHP的正则环视结构了。
分析:正文geekaa中,左边是不存在<....,但存在<...>,同理,右边不存在...>但存在<....>
于是,解决方案如下
代码如下
<?php
$string='<div>
<a href="http://www.geekaa.com">geekaa</a> is very good and I love geekaa.
<img src="http://www.geekaa.com/logo.gif">
This is the logo of geekaa.com
</div>';
$pattern='/(?!<[^>]*)(geekaa)(?![^<]*>)/i';
$result=preg_replace($pattern,"<font style='color:red'></font>",$string);
echo $result;
?>
放心注册,GeeKaa不会虚耗你半点时间,你只会发现更多乐趣。 | 立即注册 |