PHP xpath содержит класс и не содержит класс Название подводит итог. Я пытаюсь запросить HTML файл для всех тегов div, которые содержат класс result и не содержит класс grid. <div class="result grid">skip this div</div> <div class="result">grab this one</div> Спасибо! Ответ 1 Это должно сделать это: <? $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"; } ?> Ответ 2 Ваш XPath будет //div[contains(concat(' ', @class, ' '), ' result ') and not(contains(concat(' ', @class, ' '), ' grid '))] Ответ 3 Синтаксис XPATH будет... //div[not(contains(@class, 'grid'))]
Ответ 1 Это должно сделать это: <? $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"; } ?>
Ответ 2 Ваш XPath будет //div[contains(concat(' ', @class, ' '), ' result ') and not(contains(concat(' ', @class, ' '), ' grid '))]