PHP简单HTML DOM只在div类中获得前5个链接

时间:2013-08-25 14:08:08

标签: php html simple-html-dom

到目前为止,我有这个

<?PHP include('simple_html_dom.php');
$html = file_get_html('http://www.mangastream.com/');
foreach($html->find('.side-nav') as $t)
foreach($t->find('a')as $k)
echo $k->href . '<br>'; 
?>

输出类内的所有链接。但我只想拥有前5个链接。

2 个答案:

答案 0 :(得分:0)

find()返回一个数组,您可以执行单个查找操作而不是两个,并且可以使用array_slice将数组切割为前五个元素。

这使您可以轻松获得前五个元素:

$ks = $html->find('.side-nav a');
foreach (array_slice($ks, 0, 5) as $k)
    echo $k->href, '<br>'
;

但是我建议您使用基于DOMDocument的HTML解析器 - 可能与SimpleXML结合使用,以便您可以在文档上运行xpath查询。

答案 1 :(得分:-2)

试试

<?PHP include('simple_html_dom.php');
$html = file_get_html('http://www.mangastream.com/');
foreach($html->find('.side-nav') as $t){
    foreach($t->find('a')as $key => $k){
        echo $k->href . '<br>';
        if($key >= 4){
            break;
        }
    }
}
?>