Помогите разобраться с функцией парсера. Не удается получить список категорий донора. Парсер открывает страницу и ищет div с классом category, после чего должен отобразить весь список категорий, но по непонятным мне причинам данная функция не срабатывает, что с ней не так? PHP: private function GrandCatList($data) { $out = []; libxml_use_internal_errors(true); $this->dom->loadHTML($data); libxml_clear_errors(); $divs = $this->dom->getElementsByTagName('div'); for($i=0; $i < $divs->length; $i++) { $div = $divs->item($i); if($div->hasAttribute('class') && "category" === $div->getAttribute('class')) $out[] = [$div->getElementsByTagName('a')->item(1)->getAttribute('href'),$div->getElementsByTagName('a')->item(1)->nodeValue]; } return $out; }
Она должна отобразить все категории, но она их не отображает. Пустой белый экран. Вроде все срабатывает но категорий нету и ошибок также.
Значит на вход приходит пустая строка или html без классов category Вот полный аналог вашей функции просто для консоли. Выводит список. Возможно ваш парсер забанили по IP/User-Agent и поэтому ничего не приходит или отдаётся не то, что вы ожидаете
Так ваш код и не должен ничего выводить на экран. Чтоб вывести на экран результат работы функции надо сделать так: PHP: print_r($out); //Добавить эту строкуreturn $out;