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/?p=1279


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

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

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

Add your comment now

You must be logged in to post a comment.