25

タイトルはそれを要約しています。resultclass を含み、 classを含まないすべての div タグの HTML ファイルをクエリしようとしていますgrid

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

ありがとう!

4

3 に答える 3

47

これはそれを行う必要があります:

<?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";
}
于 2013-01-14T18:28:08.720 に答える
12

あなたのXPathは//div[contains(concat(' ', @class, ' '), ' result ') and not(contains(concat(' ', @class, ' '), ' grid '))]

于 2013-01-14T18:26:16.263 に答える
7

XPATH 構文は次のようになります...

//div[not(contains(@class, 'grid'))]
于 2013-01-14T18:35:47.890 に答える