2013-05-17 52 views
0

我有這樣的HTML代碼:的getElementsByTagName不工作在PHP

<div id="sd_rce"> 
    <br> 
    <h2>The Content I want</h2> 
</div> 

而且我想「的內容我想」用PHP。我試過這個

$html = //LookAbove; 
    $DOM = new DOMDocument; 
    $DOM->loadHTML($html); 

    $items = $DOM->getElementsByTagName('h2'); 

    for ($i = 0; $i < $items->length; $i++) 
     echo $items->item($i)->nodeValue . "<br/>"; 

任何人都可以看到我在做什麼錯?白色的網站就是我所得到的。

+2

白屏意味着你必須打開錯誤報告,因爲你有一個致命的PHP錯誤。 'ini_set('display_errors',1); error_reporting(E_ALL);'_Always_開發並打開錯誤報告。 –

+0

它適合我。 – Tchoupi

+0

我把這個放在我的代碼中,然後顯示我的變量,但現在錯誤? – Sebastian

回答

2

嘗試

$DOM = new DOMDocument('1.0', 'iso-8859-1'); 
+0

+1,但請解釋爲什麼觀衆會知道它是什麼。順便說一句,當你初始化'DOMDoucment'時總是給出編碼,這樣它就可以在每臺服務器上工作,即使默認值與你的編碼不​​同。 –

+0

它的默認示例在這裏http://php.net/manual/en/domdocument.construct.php,通常這是做到這一點的最佳方式 – Dima

0

給予編碼選項是不錯的主意總是,我相信。

但是對於這裏發佈的情況,我懷疑你是否正在處理來自htmlspecialchars()的文本結果。

在網絡瀏覽器中,您會看到「<」字符,但實際上它可能是「<」,則PHP DOM無法正確解析整個文本。