Lecteur RSS en PHP
Comment afficher un flux RSS avec une simple fonction PHP.
L'URL du fichier peut être
-
locale, sous la forme: rss.xml, ou
-
distante sous la forme: http://www.xul.fr/rss.xml.
Il n'y a qu'une seule différence, si le nom de fichier a l'extension ".php" quand il est généré par un CMS ou autre logiciel, localement le fichier est traité par le serveur comme un fichier texte tandis qu'à distance il est traité comme un script. Il n'y a pas de différence si l'extension est ".xml".
Le script est compatible avec:
- RSS 2.0.
- RSS RDF ou RSS 1.0.
En fait le script extraie les balises title, link et description et ignore
le format de structure du document.
L'avantage d'utiliser PHP pour afficher un flux RSS est que celui-ci sera
visible par les moteurs de recherche.
Structure d'un fichier RSS 2.0
Un flux RSS est constitué d'un canal et d'un ou plusieurs items, correspondant à des articles. Chacun à un titre, une URL et une description. Plus de détails dans la spécification dont le lien est donné plus bas.
<rss version="2.0">
<channel>
<title>Scriptol RSS</title>
<link>http://www.scriptol.fr/rss/</link>
<description>
Outils et documents pour RSS.
</description>
<item>
<title>Le lecteur RSS</title>
<link>http://www.scriptol.fr/rss/lecteur-rssphp</link>
<description>
Fonction pour afficher un flux RSS.
</description>
</item>
</channel>
</rss>
L'interface
L'interface comprend deux fonctions:
RSS_Display()
Pour afficher un flux complet avec le canal, les titres liés aux articles et leurs descriptions.
RSS_Links()
Pour afficher seulement une liste de titres qui lient sur les articles.
Code source
Le source contient d'autres fonctions internes:
RSS_Retrieve(url) // extraie le channel et appelle RSS_Channel. RSS_Channel(channel) // extraie les données du channel et appelle RSS_Tags. RSS_RetrieveLink(url) // appelle RSS_Tags pour chaque item d'un channel. RSS_Tags(item) // extraie title, links, description pour un article.
Voir le script rsslib.php.
Afficher le lien sur le site ou non
La version 2009 permet en option d'afficher ou non le titre et la description du site. C'est le troisième paramètre de RSS_Display.
Par défaut, il n'est pas affiché. Pour l'afficher, utiliser cette syntaxe:
RSS_Display(url, nombre, true);
Sinon appeler:
RSS_Display(url, nombre);
ou:
RSS_Display(url);
pour le nombre d'article par défaut, qui est de 15.
Démos
Les démos sont des templates que vous pouvez étudier et utiliser sur votre propre site, selon les termes de la licence Mozilla. Un formulaire permet d'entrer l'URL du flux. Vous pouvez enlever le formulaire et le remplacer par l'URL d'un flux donné. Le flux RSS peut être affiché sur la même page ou sur une autre.
- Affichage d'un flux RSS sur la même page.
- Affichage d'un flux RSS dans une autre page.
- Affichage des titres seuls, sur la même page.
- Afficher directement un flux
sur une page, sans entrer d'URL.
Télécharger
L'archive contient le script et les démos.
- Lecteur RSS PHP (2009). Dernière version.
- Lecteur RSS PHP (2007).
Documentation
- Construire un flux RSS. Tutoriel.
- Spécification 2.0.
Traduction du standard par Harvard.
(c) 2007-2009 Denis Sureau - Scriptol.fr.
Licence: Mozilla 1.1.