Название подводит итог. Я пытаюсь запросить HTML-файл для всех тегов div, содержащих result
класса, и не содержит grid
классов.
<div class="result grid">skip this div</div> <div class="result">grab this one</div>
Благодаря!
Это должно сделать это:
<? $doc = new DOMDocument(); $doc->loadHTMLFile('test.html'); $xpath = new DOMXPath($doc); $nodeList = $xpath->query("//div[contains(@class, 'result') and not(contains(@class, 'grid'))]"); foreach ($nodeList as $node) { echo $node->nodeName . "\n"; } ?>
Ваш XPath будет //div[contains(concat(' ', @class, ' '), ' result ') and not(contains(concat(' ', @class, ' '), ' grid '))]
Синтаксис XPATH будет …
//div[not(contains(@class, 'grid'))]