2011-06-07 29 views
6

我試圖做一個腳本,擦網站檢索最新的新聞更新。 不幸的是,我遇到了一個小問題,我似乎無法修復我對DOM有限的知識。PHP DOMNode:如何提取不僅文本,而且HTML標籤也

我想湊建立如下頁面:

<table> 
<tr class="color1"> 
<td>Author</td> 
<td>Content <a href="#">in HTML</a></td> 
<td>Date</td> 
</tr> 
</table> 

我可以檢索我需要的只是罰款,除了內容的字段。隨着$ TD->的nodeValue我檢索的文本形式的內容,而我想在HTML(那裏面有「A」的標籤,「塊引用」等)

下面的代碼,我有:

try { 
    $html = @ file_get_contents("test.php"); 
    checkIfFileExists($html); 

    $dom = new DOMDocument(); 
    @ $dom->loadHTML($html); 

    $trNodes = $dom->getElementsByTagName("tr"); 
    foreach ($trNodes as $tr) { 

     if ($tr->getAttribute("class") == "color1" || $tr->getAttribute("class") == "color2") { 

     $tdNodes = $tr->childNodes; 
     foreach ($tdNodes as $td) { 

      echo $td->nodeValue . "<br />\n"; 

     } 
     echo "<br /><br /><br /><br /><br />\n"; 
    } 
} catch(Exception $e) { 
    echo $e->getMessage(); 
} 

我不希望訴諸任何第三方圖書館,但顯然任何答案是最讚賞,圖書館或不。

在此先感謝。

回答

4

更換

echo $td->nodeValue . "<br />\n"; 

echo $dom->saveXML($td) . "<br />\n"; 
+0

該訣竅,非常感謝! – Steven 2011-06-07 07:46:26

相關問題