здравствуйте не получается спарсить rrs новость , почему то не забирается кодом
<?php
libxml_use_internal_errors(true);
$rss = simplexml_load_file("http://static.feed.rbc.ru/rbc/logical/footer/news.rss");
//var_dump($rss);
foreach($rss->channel->item as $item) {
$title=$item->title;
echo "TITLE = ".$title."<br>";
}
?>
пишет Warning: Invalid argument supplied for foreach() in C:\OpenServer\domains\localhost\work.php on line 8
короч он не может взять страницу это функцией simplexml_load_file("http://static.feed.rbc.ru/rbc/logical/footer/news.rss"); там пусто helllp me!!!
Ответы (1 шт):
Проблема заключается в том, что указанный сайт возвращает неверный формат RSS.
Содержимое RSS ленты представлено в виде XML документа, соответственно и тип данного документа должен быть Content-type: text/xml, на указанном же сайте Content-type указан как document, что совершенно не верно.
Из-за того, что указан неверный формат, не указано, что это XML ваш PHP скрипт попросту не может получить доступ к элементам на странице, из-за этого переменная $rss пуста и вам выводиться пустой результат.
Как вариант можно распарить страницу с помощью сURL, но в данной ситуации это будет костылем, так как указанный сайт предоставляет данные в неверном формате.