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: https://www.scriptol.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>https://www.scriptol.fr/rss/</link>
<description>
Outils et documents pour RSS.
</description>
<item>
<title>Le lecteur RSS</title>
<link>https://www.scriptol.fr/rss/lecteur-rssphp</link>
<description>
Fonction pour afficher un flux RSS.
</description>
</item>
</channel>
</rss>
Les fonctions de l'API
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 ou non la date
La version 2010 ajoute un argument pour ajouter l'affichage de la date.
RSS_Display(url, nombre, true, true);
Si le dernier paramètre est omis, la date n'est pas affichée.
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 seulement les titres.
- Afficher directement un flux dans une page en incluant le script PHP.
Cette démo utilise le fichier de feuille de style. - Démonstration de mise en cache du flux RSS.
Versions
Les modifications prennent en compte les questions sur les forums français/anglais.
- 10 août 2010.
Ajouté la démo de mise en cache. - 4 mai 2010.
- Ajouté une démonstration de feuille de style.
- La démo rss-get.php montre comment afficher donner un flux comme paramètre à une page web.
- Le lecteur affiche aussi la date en option.
Télécharger
L'archive contient le script et les démos.
- Lecteur RSS PHP (2010). Dernière version.
Documentation
- Questions fréquentes sur le lecteur RSS.
- Comment mettre en cache un flux RSS.
- Construire un flux RSS. Tutoriel.
- Spécification 2.0. Traduction du standard par Harvard sur Scriptol.fr.
- Utiliser cURL avec le lecteur RSS.
Licence: Mozilla 1.1. Script par Denis Sureau.
- RSS : Aide pour débutant.
- Comment démarrer avec rsslib?
- Problème lors de la lecture du flux RSS.
- Problème de lecteur RSS chez free.
- Problème de lecture de certains flux.
- Personnalisation de l'affichage.
- Comment localiser les dates d'un flux RSS?
- Comment valider un flux RSS?
Lecteur de flux rss en PHP 4
Dav
webmaster