2015-08-21 162 views
0

我寫了下面:PHP DOM文檔不解析/檢索HTML

<?php 
$str = 'http://stackoverflow.com'; 
$DOM = new DOMDocument; 
$DOM->loadHTML($str); 

//get all H1 
$items = $DOM->getElementsByTagName('h1'); 

//display all H1 text 
for ($i = 0; $i < $items->length; $i++) 
{ 
    echo $items->item($i)->nodeValue . "<br/>"; 
} 
?> 

而只是想簡單地獲取計算器的所有H1元素,但不能讓它的工作。每當我嘗試手動填充變量$ str(例如:<h1>hello</h1><div><h1>hello2</h1></div>)它正在工作。但每當我嘗試解析來自另一個網頁的內容時,它根本沒有做任何事情......

幫助將被矇蔽!

+0

使用'loadHTMLFile' – splash58

+0

@ splash58正在檢索內容,非常感謝! :)在旁邊,我怎麼可能檢索整個HTML代碼?而不僅僅是nodeValue – Testuser075

+0

看我的答案。 – splash58

回答

0
$str = 'http://stackoverflow.com'; 
$DOM = new DOMDocument; 
$DOM->loadHTMLFile($str); // get html 

echo $DOM->saveHTML(); echo html 
$DOM->saveHTMLFile(FILE_NAME); save html to file 
+0

如果我想回顯特定元素,該怎麼辦?這將成爲如何使用它的方式? echo $ DOM-> getElementsByTagName('h1') - > saveHTML(); – Testuser075

+0

'$ nodes = $ DOM-> getElementsByTagName('h1'); foreach($ nodes爲$ node)$ DOM-> saveHTML($ node);' – splash58

+0

非常感謝你的時間,我可能很煩,在問這個問題之後。但是,您可以添加對代碼的另一種解釋並更新答案,以便我(和其他人)能夠理解我們正在處理的內容嗎?謝謝! – Testuser075