使用正则表达式选择一些图像标签

时间:2014-10-21 12:18:34

标签: php html regex image

我有这段代码可以选择所有<img>代码:

$pattern = "@<img[^>]*src=[\"\']([^\"\']*)[\"\'][^>]*>@";

我想改变它只选择没有&#34; noajax&#34;在班上。例如:

<img src="../" /> - &gt;应该被选中

<img src="../" class="noresize noajax" /> - &gt;不应该被选中

2 个答案:

答案 0 :(得分:1)

<img[^>]*src=[\"\']([^\"\']*)[\"\'](?:(?!\bnoajax\b|>).)*>

试试这个。这应该对你有用。

答案 1 :(得分:0)

@ RikHeywood的评论是正确的。我建议使用XPath作为解决此问题的首选工具。

//img[not(contains(@class, 'noajax'))]

这应该选择文档中没有任何类的文本&#34; noajax&#34;。

谷歌搜索的一小部分表明这是一个如何在PHP中评估XPath的开始。 http://php.net/manual/en/domxpath.evaluate.php

编辑:忘记了链接。