Задать вопрос
@rasl89

Почему не работает перебор по ссылкам в foreach php?

Помогите, не работает перебор массива.

Есть массив с ссылками:
$ssil12

Задача подключить скрипт обработки одной ссылки (парсер), перебрать массив с ссылками, выполняя скрипт по каждой ссылке

перебор:
foreach ($ssil12 as $https) {
        perebor($https);
    }


Функция (в ранее подключенном файле):
function perebor ($https='') {
 //обрабатывает ссылку, вносит в бд спарсенные строки
}


В теле функции парсер начинается с :
$html = str_get_html($https); //получаем объек
может в него не передаются ссылки поочередно?
  • Вопрос задан
  • 83 просмотра
Подписаться 1 Простой 2 комментария
Пригласить эксперта
Ответы на вопрос 1
PQR
@PQR
Если я правильно понял условие задачи, то массив $ssil12 содержит ссылки (в смысле url страниц, которые нужно обработать).

Далее в цикле вы перебираете этот массив и каждую отдельную ссылку в итоге передаёте в вызов функции str_get_html($https);

Но судя по документации (https://simplehtmldom.sourceforge.io/manual.htm) принимает на вход не ссылку, html код страницы. Таким образом вы забыли скачать саму страницу по ссылке, например, так:
$content = file_get_contents($https)
$domObject = str_get_html($content);
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы