Simplehtmldom сохранение нескольких ссылок

Итак, я начинаю с php и у меня проблемы с Simple HTML DOM Parser. Пока это мой код.

include("simple_html_dom.php");
$html=file_get_html("http://example.com");
foreach($html->find('a') as $links);
$html = file_get_html($links->href);
echo $html;

Основная проблема заключается в том, что вместо одной страницы есть ссылки $, которые постоянно меняются, и я не знаю, как заставить компьютер меня понять, потому что я получаю ошибки и полный беспорядок. Буду очень признателен за любой ответ!


person Community    schedule 26.04.2018    source источник
comment
Вы имеете в виду, что на странице более 1 тега привязки?   -  person RiggsFolly    schedule 26.04.2018
comment
Да, и я хочу, чтобы их все разобрали.   -  person    schedule 26.04.2018
comment
Что вы хотите делать со всеми этими ссылками?   -  person RiggsFolly    schedule 27.04.2018


Ответы (2)


Здесь вам нужны скобки вместо точки с запятой:

foreach($html->find('a') as $links) {

    $html = file_get_html($links->href);
    echo $html;
}

Если поставить точку с запятой сразу после определения foreach, он ничего не запустит. Если вы удалите точку с запятой, по-прежнему будет выполняться только первая строка после определения цикла. Вам нужны скобки, чтобы сгруппировать два утверждения вместе.

Однако я не знаю, насколько хорошо будет работать вывод всего HTML для нескольких страниц подряд.

person Don't Panic    schedule 26.04.2018
comment
:) опередил меня на миллисекунды :) - person RiggsFolly; 26.04.2018
comment
@RiggsFolly Это примерно противоположное тому, что обычно бывает. (За исключением миллисекунд. Обычно вы уже ответили на него пять минут назад) - person Don't Panic; 26.04.2018
comment
Я не сказал, что хочу, чтобы они все в одном эхо. Это работает только для одного из них. - person ; 26.04.2018
comment
@GrzegorzCichocki Извините, я не понимаю, что вы имеете в виду. Не могли бы вы объяснить еще немного, пожалуйста? - person Don't Panic; 26.04.2018

Вы хотите file_get_html, потому что file_get_contents загрузит тело ответа в строку, а file_get_html загрузит его в простой-html-dom.

include("simple_html_dom.php");
$html=file_get_html("http://example.com");
foreach($html->find('a') as $links) {
   $html = file_get_html($links->href);
   echo $html;
}
person Özgür Can Karagöz    schedule 26.04.2018