读书人

用正则关键词替换时 不替换A标记中的内

发布时间: 2012-04-21 14:34:44 作者: rapoo

求助用正则关键词替换时 不替换A标记中的内容?

HTML code
<a href="#">测试</a>俺吧拉萨看来大家阿司法局刷卡机放<a href="#">测试一下</a>得开疯测试狂的萨克龙卷风看到<a href="#">测试</a>测试放得开松垮垮发静测试看思渡口开测试始 倒萨


替换掉 测试 二字为一个链接如:<a href="#">替换</a> 但 已经在A标记中的 测试 不进行替换

弄了好久都无法实现。求思路

[解决办法]
能实现
1.(?<=^|</a>)(?:(?!<a[^>]+>).)+(<a[^>]+>|$)
匹配得到<a..></a>以外的部分
2.将这结果中的 测试 替换为你要的内容

如果不支持(?<=)的前向断言,则修改为
(^|</a>)(?:(?!<a[^>]+>).)+(<a[^>]+>|$)

读书人网 >PHP

热点推荐