2012-06-01 3 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

관련 문제