RSS parser на php

На днях знакомые искали rss парсилку, а потом мы взялись и написали

Для начала немножко теории о том, что такое RSS.

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

Для того что бы понять, как работает rss и парсилка, я приведу пример исходного кода rss сообщения:

<?xml version='1.0' encoding='UTF-8'?>
<rss version='2.0'>
  <channel>
    <title>заголовок rss канала</title>
    <link>http://ссылка.rss.канала</link>
    <description>краткое содержание rss канала</description>
    <language>en-us</language>
    <pubDate>дата публикации</pubDate>
 
    <lastBuildDate>Tue, 10 Jun 2003 09:41:01 GMT</lastBuildDate>
    <docs>http://blogs.rss.канала/tech/rss</docs>
    <generator>Weblog Editor 2.0</generator>
    <managingEditor>manager@example.com</managingEditor>
    <webMaster>rssmaster@example.com</webMaster>
 
    <item>
    <title>заголовок статьи</title>
    <link>http://линк.куда.то</link>
    <description>текст rss сообщения.</description>
    <pubDate>Tue, 02 Mar 2010 17:02:56 +0000</pubDate>
    <guid>http://линк.на/основную/версию.html</guid>
    </item>
 
    <item>
    <title>заголовок статьи</title>
    <link>http://линк.куда.то</link>
    <description>текст rss сообщения.</description>
    <pubDate>Tue, 02 Mar 2010 17:02:56 +0000</pubDate>
    <guid>http://линк.на/основную/версию.html</guid>
    </item>
  </channel>
</rss>

Теперь зная исходный код, сделаем простейшую rss парсилку:

<?php 
$source="http://www.sunhome.ru/xml/rss_image.php";
//rss ресурс фида
$document=simplexml_load_file($source); 
//на этом этапе парсим ресурс, а точнее полученный xml-документ в php объект
 
foreach($document->channel->item as $i){ 
//проходим теперь по объекту циклом
 
$title="$i->title";
$desc="$i->description";
$link="$i->link";
$date=substr($i->pubDate,0,16);
//на этом этапе мы в соответствующие переменные забиваем необходимые данные
 
echo"<h2> $title </h2>";
//выводим заголовок на экран
echo"<small>$date</small><br/>";
//выводим дату
echo"<p style='color:gray'>$desc</p>";
//выводим само сообщение
echo"Autor link: <a href="$link">$link</a><br/>";
//указываем ссылку на автора
echo"<hr/><br/>"; 
//разделяем каждую запись полосой
}
echo "rss parser by noted.org.ua ver-0.1<br/>";
?>

Если вы сделали всё правильно, то у вас должно получится нечто подобное.

Напоминаю всем копирующим мой контент о существовании закона "Об авторском праве".
В связи с этим, прошу во избежании конфликтов при копировании данного материала, ставить на него ссылку:

http://noted.org.ua/1279


Также, вы можете отблагодарить меня переслав любую сумму на любой кошелек WebMoney, для поддержания данного ресурса. Или просто админу на пиво ;)

Кошельки для получения благодарности:
R386985788805
U234140473141
Z147712360455

На данной странице нет комментариев, возможно они закрыты. Если Вы хотите оставить свой комментарий, перейдите на специально созданный раздел

Add your comment now

Please note: JavaScript is required to post comments.