PHP xpath содержит класс и не содержит класс

Название подводит итог. Я пытаюсь запросить 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'))]