1

クエリの実行後に見つかったすべての要素の xpath を検索/作成したいと考えています。

やってみましたが、行き詰まりました。

このコードは、すべての要素/ノードを検索して、文字「t」を含む値を探します。「t」が見つかった場合、その要素の xpath を知りたいです。

<?php

$dom = new DOMDocument();

@$dom->loadHTMLFile('http://www.linkbook.co/');

//use DOMXpath to navigate the html with the DOM
$dom_xpath = new DOMXpath($dom);

$elements = $dom_xpath->query("//*[text()[contains(., 't')]]");
var_dump($elements);
if (!is_null($elements)) {

  foreach ($elements as $element) {
  var_dump($element);
    echo "\n[". $element->nodeName. "]";

    $nodes = $element->childNodes;
    foreach ($nodes as $node) {
      echo $node->nodeValue. "\n";
    }

  }

}

?>
4

1 に答える 1

3

DOMNode::getNodePathまさにそれを行うので、試してみてくださいecho $node->getNodePath()

于 2012-10-09T09:59:19.207 に答える