正则表达式匹配除具有特定属性的元素之外的所有元素

时间:2013-11-08 10:15:11

标签: php regex preg-match

很抱歉,如果之前已经问过并回答过,但我似乎无法找到答案。

由于正则表达式不是我强大的一面,我转向你,所以。我坚持使用需要在文本中找到所有图像标记的正则表达式,除了具有特定属性和值的图像标记。在这一点上,我甚至不确定这是否可行,如果是 - 任何帮助都表示赞赏。

/<img.*?\/(img)?>/si

这是我用来匹配所有图像标签的 - 简单直接。但是我应该为{em>忽略图像标签添加/修改它,例如class='ignore'

干杯!

1 个答案:

答案 0 :(得分:2)

Don't parse HTML with regex.

查找html中包含ignore类的所有图片:

$dom = new DOMDocument;
@$dom->loadHTML($html);
$xpath = new DOMXPath($dom);
foreach ($xpath->query('//img[contains(@class, "ignore")]') as $img) {
    // do something with $img
}
echo $dom->saveHTML();