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 к документу.

Другие вопросы по тегам