php简单的html dom解析一个标签,除了在一些div

时间:2012-06-01 19:40:08

标签: php simple-html-dom

来自a的一些测试获取http://www.msnbc.msn.com/标记使用简单的html dom。

$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/中的所有链接,谢谢。

1 个答案:

答案 0 :(得分:2)

检查父母,如下所示:

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