img标签没有alt的正则表达式

时间:2019-04-02 17:03:43

标签: html regex image alt

我正在尝试编写一个正则表达式,查找没有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/

3 个答案:

答案 0 :(得分:2)

Don't

您尚未指定要使用的语言,但是很可能有一个可用的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)

如果在同一行中,则可以使用它,

items

Demo

答案 2 :(得分:0)

您可以使用以下表达式:

<img[^>]*alt=[^>]*>