PHP的XPath包含类,并不包含类(PHP xpath contains class and do

2019-08-06 19:35发布

标题概括起来。 我试图查询包含类的所有div标签的HTML文件result ,并且不包含类grid

<div class="result grid">skip this div</div>
<div class="result">grab this one</div>

谢谢!

Answer 1:

这应该这样做:

<?php
$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";
}


Answer 2:

你的XPath会//div[contains(concat(' ', @class, ' '), ' result ') and not(contains(concat(' ', @class, ' '), ' grid '))]



Answer 3:

XPath语法是...

//div[not(contains(@class, 'grid'))]


文章来源: PHP xpath contains class and does not contain class