php 正则匹配HTML标签以外的匹配词 并且不匹配A标签中的匹配词 10

例如:<p>沙发1号<ahref="#"alt="沙发2号">沙发3号</a></p>我想匹配沙发这个词语并替换掉,但只要替换沙发1号,其余的不要被匹配替换有哪位高手能写... 例如:
<p>沙发1号<a href="#" alt="沙发2号">沙发3号</a></p>
我想匹配 沙发 这个词语并替换掉,但只要替换 沙发1号 ,其余的不要被匹配替换 有哪位高手能写出个简短效率的正则来,不胜感激!
展开
 我来答
lxydjx
2013-01-25 · TA获得超过283个赞
知道小有建树答主
回答量:472
采纳率:0%
帮助的人:403万
展开全部
那就第一步 去掉a preg_replace('/<a[^>]*>.*?</a>/','',$html);

第二部 去掉所有标签 strip_tags( $html)
aghhinuu
2013-01-25
知道答主
回答量:11
采纳率:0%
帮助的人:10.5万
展开全部
pattern : "#(<((?!a\b)[^>]*?>|(?!a)>)[^<]*?)(沙发)([^>]*?)#"

replace : '${1}haha${4}'

haha : 你想要替换的内容
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
玩转津门
2013-01-23 · TA获得超过3515个赞
知道小有建树答主
回答量:1474
采纳率:0%
帮助的人:841万
展开全部
preg_replace('/<p>(.*?)<a/', '<p><a', $str);
追问
这只是一个例子 我希望能排除所有的HTML标签及A标签,就是所匹配的关键词不能在标签属性中,例如 也不能在关键词中。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式