2011-07-09 35 views
3

我試圖解析從以下網址下面的HTML(無效)HTML從其他網站:解析使用PHP

http://md5.rednoize.com/?q=fbade9e36a3f36d3d676c1b808451dd7

代碼:

$html = file_get_contents($url.$hash); 
    $config = array(
     'clean' => 'yes', 
     'output-html' => 'yes', 
    ); 
    $tidy = tidy_parse_string($html, $config, 'utf8'); 
    $tidy->cleanRepair(); 
    $dom = new DOMDocument; 
    $dom->loadHTML($tidy); 

    $result = $dom->getElementById('result'); 

但是它是無效的:

Warning: DOMDocument::loadHTML() [<a href='domdocument.loadhtml'>domdocument.loadhtml</a>]: ID switcher already defined in Entity, line: 128 in 

有沒有辦法仍然可以解析它?

+0

也許一個愚蠢的言論,但不能你只要把「乾淨」 =>「是的」,要「乾淨」 =>「沒有',? –

+0

@Hans:我爲什麼要這麼做? – PeeHaa

+0

如果將'$ dom-> loadHTML($ tidy);'更改爲'$ dom-> loadHTML($ tidy-> value),會發生什麼情況;'' –

回答

4

您可以嘗試關閉嚴格的錯誤檢查後,對它進行解析:

$dom = new DOMDocument; 
$dom->strictErrorChecking = FALSE; 
$dom->loadHTML($tidy);