我有这段代码可以选择所有<img>
代码:
$pattern = "@<img[^>]*src=[\"\']([^\"\']*)[\"\'][^>]*>@";
我想改变它只选择没有&#34; noajax&#34;在班上。例如:
<img src="../" />
- &gt;应该被选中
<img src="../" class="noresize noajax" />
- &gt;不应该被选中
答案 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
编辑:忘记了链接。