Comment se présente-t-il ?

<?xml version="1.0"?>
   <rss version="0.92">
       <channel>
           <title>Le nom du flux syndiqué</title> 
             <link>http://www.le-site.com</link> 
             <description>Description du flux / du site</description> 
             <language>fr</language>
           <item>
                  <title>Titre de l'article 1</title> 
                  <link>http://www.le-site.com/article1.htm</link> 
                  <description>Description du contenu 1</description>
           </item>
           <item>
                  <title>Titre de l'article 2</title> 
                  <link>http://www.le-site.com/article2.htm</link> 
                  <description>Description du contenu 2 </description>
           </item>
           <item>
                  <title>Tout le contenu</title> 
                  <link>http://www.le-site.com/articles.htm</link>
           </item>
       </channel>
   </rss>

Comment le générer ?

EasyRSS est une librairie PHP (une classe) permettant de lire et de créer des flux RSS. Lire cet article pour tous les détails.

Voici comment créer un flux RSS avec EasyRSS :

<?php
include('easyRSS.inc.php');

$myrss = new easyRSS();

$myrss -> channel("Titre", "http://www.le-site.com", "Description du site", "fr", 
                         "©2002 webmaster", "webmaster@le-site.com");

$myrss -> image("Titre", "http://www.le-site.com/logo.gif", "http://www.le-site.com/", 20, 20, "Description");

$myrss -> add_item("Titre de l'article 1", "http://www.le-site.com/articles.php?id=1");
$myrss -> add_item("Titre de l'article 2", "http://www.le-site.com/articles.php?id=2");
$myrss -> add_item("Titre de l'article 3", "http://www.le-site.com/articles.php?id=3");

$myrss -> textinput("Rechercher", "Rechercher sur le site :", "requete", "http://www.le-site.com/recherche.php");

$myrss -> save("articles.rss");
exit();
?>

Comment lire un flux RSS avec EasyRSS

Toujours d'après cet article (code non vérifié) :

<?php
include('easyRSS.inc.php');
$phpinfo_rss = new easyRSS();
$url_de_syndication = "http://www.allergique.org/backend.php3" ;
$last_articles = 15 ; // Les 15 derniers
$phpinfo_rss->parsefile($url_de_syndication, $last_articles);
echo '<h3><a href="'.$phpinfo_rss -> get_channel_link().'" target="_blank">'
             . $phpinfo_rss -> get_channel_title() . "</a></h3>' ; // titre

$nbnews              = $phpinfo_rss-> get_num_items();
$news_author       = $phpinfo_rss-> get_items_author(); 
$news_title          = $phpinfo_rss-> get_items_title();
$news_link           = $phpinfo_rss-> get_items_link(); 
$news_description = $phpinfo_rss-> get_items_description(); 

// un peu de nettoyage
$search = array ("/</","/>/");
$replace = array ("<",">");
$news_description=preg_replace($search,$replace,$news_description);
$avant = array ("'<img.*?>'si","'<p.*?>'si","'</p>'si","'&amp;#.*?;'si"); 
$apres = array (" "," "," ","&#.*?;"); 
$news_description=preg_replace($avant , $apres , $news_description);

$news_date = $phpinfo_rss -> get_items_date();

echo '<br /><br /><ul>\n";
for($i=1 ; $i<=$nbnews ; $i++)
{ 
      $date[$i]=strftime("%d/%m/%Y", strtotime($news_date[$i]));
      echo '<li><b>' . $news_author[$i] . ' :</b> '; 
      echo '<a href="' . $news_link[$i] . '" target="_blank">' . $news_title[$i] . "</a> :<br />\n";  
      echo $news_description[$i] . "<br>\n";
      echo "<i>" . $date[$i] . "</i>\n";
      echo "</li>\n";
}
echo "</ul>";
?>