DOMXpath を使用すると奇妙なエラーが発生します。
DOMXPath->query を使用している場合、最初の呼び出しは常に失敗しますが、2 番目の呼び出しは失敗しません。これは、両方のクエリで同じ xpath を使用している場合でも同じです。
$html_dom = new DOMDocument();
@$html_dom->loadHTML($html);
$x_path = new DOMXPath($html_dom);
$nodes = $x_path->query("//table/tr[3]/td[2]");
echo $nodes->length; // returns 0, which is not correct
// Type
$nodes = $x_path->query("//table/tr[3]/td[2]");
echo $nodes->length; // returns 17, which is the correct value
なぜこれが起こっているのですか?