PHP xpath содержит класс и не содержит класс
название подводит итог. Я пытаюсь запросить HTML-файл для всех тегов div, содержащих класс result
и не содержит класс grid
.
<div class="result grid">skip this div</div>
<div class="result">grab this one</div>
спасибо!
3 ответов
Это должно сделать это:
<?
$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 '))]