Afficher un flux RSS en PHP sur son site
Ce script permet d’afficher automatiquement le flux RSS XML d’un site de contenu
Les flux RSS sont une des utilisations du langage XML qui a le plus rapidement touché le grand public.
En pratique, un site de contenu ou d’informations, ou un blog, va mettre à la disposition du public ses infos, non pas stockées dans une base de donnée (difficile d’accès et sécurisée), mais dans un fichier XML qui est mis à jour automatiquement à chaque nouvelle insertion de données.
C’est donc dans ce fichier XML que votre script va chercher les infos à afficher : il l’ouvre, le lit… et en écrit les infos sur votre site. Tout simple, et génial !
Pour voir un exemple de résultat, allez voir sur la page d’accueil de easyphp : les derniers billets de nouvelles Manucorp, PHPindex et Phpbuilfer sont affichées en temps réel dans le carré central.
Pour utiliser ce script :
Insérez ce bloc de code PHP à l’endroit o๠vous souhaitez que le flux apparaisse :
function parse_rss($file, $n){ $cache = FALSE; $xmlfile = @fopen($file, "r"); if(!$xmlfile) { echo ("Impossible d'ouvrir $file"); return FALSE; } $readfile = fread($xmlfile, 40000); @fclose($xmlfile); $searchfile = eregi("- (.*)", $readfile ,$arrayreg); $filechunks = explode("
- ", $arrayreg[0]); for($i=1 ; $i<=$n ;$i++) { ereg(" ereg("(.*)",$filechunks[$i], $links); $cache.= "‹a href =\"$links[1]\"›$title[1]‹/a›‹br /›"; } return $cache; } if(!isset($fich)) { $fich = 'ADRESSE DU FLUX RSS'; } if(!isset($Nombre) || !is_numeric($Nombre) || $Nombre > 10) $Nombre = 10; else $Nombre = (int)$Nombre; echo parse_rss($fich, $Nombre);
Personnalisation du script :
$fich = ‘ADRESSE DU FLUX RSS’;
ici vous insérez l’URL du flux.
Pour un blog dotclear standard, par exemple, l’adresse est :
http://www.ledomaine.com/dotclear/rss.php
Vous pouvez également determiner le nombre de news à afficher à la ligne suivante :
if(!isset($Nombre) || !is_numeric($Nombre) || $Nombre > 10) $Nombre = 10;
Elle peut devenir, si vous voulez 5 news :
if(!isset($Nombre) || !is_numeric($Nombre) || $Nombre > 5) $Nombre = 5;
C’est tout :))
Tout commentaire ou amélioration du script seront bienvenus.
je confirme, elle ne fonctionne toujours pas
dommage c’est exactement ce que je cherchais
il y a beaucoup mieux maintenant en PHP5 si ton hebergeur te e permet : utilises la fonction simplexml_load_file() pour récupérer le fichier .rss ou .xml, et ensuite tu affiches en boucle la variable à laquelle tu affectes le resultat de cette fonction (c’est un tableau).
Pour finir, un petit coup de decodage UTF8 avvec la fonction utf_decode() et hop ! ca marche nickel :bravo:
marche pas d’abord. je travaille à l’ameliorer.
ciao :))