PHP Simple HTML DOM Получение ТОЛЬКО первых 5 ссылок внутри класса div
Пока у меня есть это
<?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 ответа
Решение
Попробуй это
<?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;
}
}
}
?>
find()
возвращает массив, вы можете сделать одну операцию поиска вместо двух, и вы можете нарезать массив на первые пять элементов, используя array_slice
,
Это позволяет легко получить первые пять элементов:
$ks = $html->find('.side-nav a');
foreach (array_slice($ks, 0, 5) as $k)
echo $k->href, '<br>'
;
Однако я предлагаю вам использовать анализатор HTML на основе DOMDocument - возможно, в сочетании с SimpleXML, чтобы вместо этого можно было выполнять запросы xpath к документу.