1
$doc = new DOMDocument();
$doc->loadHTML($htmlcode);
$xpath = new DOMXpath($doc);
$elements = $xpath->query("//*[@id='detail']/div[1]/h3/text()");

return var_dump($elements);

実際にxpathを正しく取得するにはどうすればよいですか? 戻ってきた

object(DOMNodeList)#4 (1) {
  ["length"]=>
  int(1)
}

var_dump($doc); を実行すると ["textContent"]=> string(22304) として html が含まれています。

Google Chromeを使用してxpathをコピーしました

4

1 に答える 1

1

DOMNodeListご想像のとおり、 usingをイントロスペクトすることはできvar_dump()ません。リスト項目0とそのノード値にアクセスする必要があります。

$elements = $xpath->query("//*[@id='detail']/div[1]/h3/text()");
if($elements->length === 1) {
    echo $elements->item(0)->nodeValue;
} else {
   ...
}
于 2013-07-03T11:38:07.563 に答える