我正在尝试编写一个正则表达式,查找没有alt属性的img标签。
这是正则表达式。
<img\s+src.+^(?!alt).+$
这里有一些样品
<img src="smiley.gif" alt="Smiley face" height="42" width="42">
<img src="smiley2.gif" height="42" width="42">
<img src="smiley3.gif" alt="Smiley face Three" height="42" width="42">
这里是regex101的链接 https://regex101.com/r/Z5vkQb/3/
答案 0 :(得分:2)
您尚未指定要使用的语言,但是很可能有一个可用的DOM解析器。
例如,在JavaScript中,您可以执行以下操作:
var imgs_with_no_alt = document.querySelectorAll("img:not([alt])");
在PHP中,您将需要以下内容:
$dom = new DOMDocument();
$dom->loadHTML("your HTML here");
$images = $dom->getElementsByTagName("img");
foreach($images as $image) {
if( $image->getAttribute("alt")) continue;
// do something to $image here, which doesn't have an [alt] attribute
}
答案 1 :(得分:1)
答案 2 :(得分:0)
您可以使用以下表达式:
<img[^>]*alt=[^>]*>