2012-06-01 68 views
0

一些測試得到a標籤http://www.msnbc.msn.com/使用簡單的html dom。php簡單的html DOM解析標籤除了在某些div

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, 'http://www.msnbc.msn.com/'); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.2) Gecko/20090729 Firefox/3.5.2 GTB5'); 
$htmls = curl_exec($ch); 
curl_close($ch); 
$html = str_get_html($htmls); 
foreach($html->find('a') as $element){ 
    echo $element.'<br />'; 
} 

這個代碼可以得到所有的超鏈接,而是如何忽略div#mainNav所有環節?我需要得到div#mainNav的所有鏈接http://www.msnbc.msn.com/,謝謝。

回答

2

檢查父,是這樣的:

foreach($html->find('a') as $element){ 
    if ($element->parent()->id == 'mainNav') { 
     //do nothing 
    } else { 
     echo $element.'<br />'; 
    } 
} 
+0

仍然可以得到'DIV#mainNav' ... – cj333

+0

你想在'mainNav'的鏈接或做你想做的外部鏈接的鏈接' mainNav'? – xbonez

+0

我想要在mainNav之外,但我仍然可以在我的測試中獲得所有頁面鏈接。 – cj333

相關問題