我試圖在DOM中使用DOMDocument遍歷DOM樹。對getElementById/getElementsByTagName的初始調用是成功的,但我不確定如何繼續生成NodeList。PHP DOMDocument在NodeList上調用getElementsByTagName
下面是一個示例HTML文件,我試圖遍歷。
<!DOCTYPE html>
<html>
<div id="container">
<p> Hello </p>
</div>
</html>
在Javascript中我能鏈DOM遍歷方法,像這樣:
document.getElementById('container').getElementsByTagName('p')[0].innerText
// returns "Hello"
但是在PHP中嘗試類似...
<?php
$document = new DOMDocument();
$document->load('test.html');
echo $document->getElementById('content')->getElementsByTagName('p')->item(0)->nodeValue . PHP_EOL;
?>
...只返回此錯誤:
Fatal error: Call to a member function getElementsByTagName() on a non-object in /Users/liam/foobar on line 6
我在做些什麼事情不對,或者這只是不支持?
輝煌!改成loadHTMLFile(並糾正我的那個愚蠢的錯字)奇妙地工作。 – 2011-05-18 14:52:29