Необходимо получить RSS-рассылку и просмотреть ее содержание. Это позволит нам включить рассылку новостей с нескольких веб-сайтов в ваше приложение.
Используйте PEAR-класс XML_RSS. Приведем пример, который читает RSS-рассылку для списка почтовых адресов php.announce:
require 'XML/RSS.php';
$feed = 'http://news.php.net/group.php?group=php.announce&format=rss';
$rss =& new XML_RSS($feed);
$rss->parse();
print "<ul>\n";
foreach ($rss->getItems() as $item) {
print '<li><a href="' . $item['link'] . '">' . $item['title'] . "</a></li>\n";
}
print "</ul>\n";
RSS, что означает RDF Site Summary, является простым в использовании форматом заголовков или синдикации статей, написанным на XML.(*) Многие новостные веб-сайты, такие как Slashdot и Meerkat издательства O’Reilly, предоставляют RSS-рассылки, которые обновляются при каждой публикации нового материала. Популярные сетевые издания также включают RSS, а RSS-рассылка в вашем собственном
онлайн-дневнике является уже стандартной функциональностью. Веб-сайт PHP также публикует RSS-рассылки для большинства серверов почтовых рассылок PHP.
Получать и анализировать RSS-рассылку просто:
$feed = 'http://news.php.net/group.php?group=php.announce&format=rss';
$rss =& new XML_RSS($feed);
$rss->parse();
Этот пример присваивает переменной $rss новый объект XML_RSS и передает значение переменной feed в RSS-рассылку новостей php.announce. Затем рассылка анализируется с помощью функции
XML_RSS::parse() и сохраняется в переменной $rss.
Впоследствии к элементам RSS обращаются как к ассоциативному
массиву, полученному с помощью функции XML_RSS:getItems():
print "<ul>\n";
foreach ($rss->getItems() as $item) {
print '<li><a href="' . $item['link'] . '">' . $item['title'] . "</a></li>\n";
}
print "</ul>\n";
Этот цикл foreach создает неупорядоченный список элементов ссылок
на статьи так, как показано на рис.1 Помимо обязательных полей
itle и link, элемент может иметь и необязательное поле description,
в котором содержится краткое описание статьи.
Каждый канал также содержит вход с общей информацией о рассылке, как это показано на рис.2. Для извлечения данных используем
функцию XML_RSS::getChannelInfo():
$feed = 'http://news.php.net/group.php?group=php.announce&format=rss';
$rss =& new XML_RSS($feed);
$rss->parse();
print "<ul>\n";
foreach ($rss->getChannelInfo() as $key => $value) {
print "<li>$key: $value</li>\n";
}
print "</ul>\n";
RSS-рассылка php.announce
RSS-информационный канал php.announce