想要个正则表达式,匹配所有
标签
想要一个正则表达式,匹配所有
标签,并且这个标签里SRC属性不能含有logo这个单词,包含这个单词的不匹配。
谢谢。
$string="adsfasdfafasdfadsfadsf";
preg_match_all('//',$string,$matches);
print_r($matches);
?>
(?! - 负向预查后面的字符
.*?贪婪匹配logo前面所有数据
(?!.*?logo) - 意为匹配所有不包含logo
.*> 则是 匹配所有换行前的> - 此处不使用 .*? 进行贪婪主要是为了避免 alt="abc>" 这样中间出现> 字符的情况
不过上面会出现个特例情况
例如
alt提示包含logo
自定义属性
如果考虑这些情况,正则可以再细化到src位置
-----解决方案------
(?! - 负向预查后面的字符
.*?贪婪匹配logo前面所有数据
(?!.*?logo) - 意为匹配所有不包含logo
.*> 则是 匹配所有换行前的> - 此处不使用 .*? 进行贪婪主要是为了避免 alt="abc>" 这样中间出现> 字符的情况
不过上面会出现个特例情况
例如
alt提示包含logo
自定义属性
如果考虑这些情况,正则可以再细化到src位置
以上就是 想要个正则表达式,匹配所有标签,该如何处理 的内容,更多相关内容请关注PHP中文网(www.php.cn)!
本文原创发布php中文网,转载请注明出处,感谢您的尊重!