2011-06-30 99 views
0

這是我的代碼:簡單的HTML DOM正確

<?php 
    include("includes/simple_html_dom.php") ; 

    $url_to_get = "http://getconfused.net/" ; 
    $homePage = file_get_html($url_to_get); 
    $allLinks = $homePage->find('a'); 
    foreach ($allLinks as $link) 
    { 
     $href = $link->innertext ; 
     echo $href . "</br>" ; 
    } 
?> 

簡單。只要抓取一個頁面,找到任何鏈接並打印該內文(<a >innertext</a>)。但由於某種原因,這裏簡單的html dom跳過了很多鏈接。具體而言,它缺少頁面第一個div(<div id="getconfused">)的所有鏈接。 爲什麼?如何解決這個問題呢?

回答

0

這是身體的div嗎?那麼頁面是否有效? 可能是該html在該部分中損壞,導致該div被跳過。

+0

是它在身上 –

+0

而且是HTML有效嗎?也許你可以使用驗證器來檢查。鏈接顯示在瀏覽器中的事實並不意味着HTML是有效的。瀏覽器可能會錯誤地修正錯誤,而simple_html_dom可能無法解析錯誤。 – GolezTrol

+0

nopes,27錯誤。我現在要去嘗試htmltidy .. –