正则匹配html不包含a,正则匹配是否包含
http://www.itjxue.com 2023-01-22 23:00 来源:未知 点击次数:
正则匹配html不包含a
用圆括号将所有选择项括起来,相邻的选择项之间用|分隔。但用圆括号会有一个副作用,使相关的匹配会被缓存,此时可用?:放在第一个选项前来消除这种副作用。
用正则表达式匹配出里面的文字,不要里面的内容
.*?(?=(\(a\s*[^]*?).*?/aP\))|(?=(a\s*[^]*?).*?/aP\)).*
正则表达式匹配html标签问题
(a[^ ]+(?=[ ])|[^a][^ ]*(?=[ ]))[^]*([^]*)text([^]*)/(a[^ ]+(?=[ ])|[^a][^ ]*(?=[ ]))[^]*
可以匹配举例:
abbr
address
base
p
p style=...
不能匹配举例:
a
a href...
即,如果标记是以a开头但不仅仅是a的的标记就可以匹配,比如abbraddress,但a就不能匹配。不是以a开头但标记中有a的也可以匹配。当然,你要求的其他情况也满足。
是麻烦了一点,或许还有简单一点的式子,不过这个可以用。你的语法好像要在前加\,自己加吧!有错误或想要解释的话,用百度的短消息功能联系我。
原创首发………………
php 正则匹配HTML标签以外的匹配词 并且不匹配A标签中的匹配词
那就第一步 去掉a preg_replace('/a[^]*.*?/a/','',$html);
第二部 去掉所有标签 strip_tags( $html)