Разделы

RSS (англ. Rich Site Summary — обогащённая сводка сайта) — семейство XML-форматов, предназначенных для описания лент новостей, анонсов статей, изменений в блогах и т. п. Информация из различных источников, представленная в формате RSS, может быть собрана, обработана и представлена пользователю в удобном для него виде специальными программами-агрегаторами или онлайн-сервисами.

Читаем RSS-ленту

Для того, чтобы читать RSS-ленту нам необходимо найти ссылку на эту самую ленту. Например можно зайти на сайт news.yandex.ru. Там выбираем категорию, которая вам понравилась, и копируете ссылку, например такую – news.yandex.ru/gadgets.rss.

Далее необходимо прочитать содержимое файла gadgets.rss, для этого воспользуемся встроенной в PHP функцией file_get_contents

$url = "http://news.yandex.ru/gadgets.rss";
$content = file_get_contents($url);

Далее мы передаем содержимое переменной $content в конструктор класса SimpleXmlElement и получим объектное представление содержимого RSS-ленты в переменной $items.

$items = new SimpleXmlElement($content);
print "<ul>";
foreach($items -> channel -> item as $item) {
	print "<li><a href = '{$item->link}' title = '$item->title'>" . <
    $item->title . "</a> - " . $item -> description . "</li>"; <
}
print "</ul>";

Итоговая функция будет примерно следующая:

function getFeeds($url) {
	$url = "http://news.yandex.ru/gadgets.rss";
	$content = file_get_contents($url);
	$items = new SimpleXmlElement($content);
	print "<ul>";
	foreach($items -> channel -> item as $item) {
    print "<li><a href = '{$item->link}' title = '$item->title'>" .
    $item->title . "</a> - " . $item -> description . "</li>";
}
print "</ul>";
}

По стандарту, RSS-лента всегда следует похожей базовой структуре: каждая лента включает в себя корневой тег channel. Затем каждый элемент в ленте представлен тегом channel, у которого есть свои подэлементы:

  1. link - ссылка на новость
  2. title - отображаемый текст ссылки
  3. description - небольшой вводный текст новости

Реклама

© 2021. Лайфхаки для админа и не только
Наверх