picture picture
mars 14, 2005 PHP 4 Commentaires

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.

4 Responses to “Afficher un flux RSS en PHP sur son site”

4 Commentaires

  1. Nicolas dit :

    je confirme, elle ne fonctionne toujours pas
    dommage c’est exactement ce que je cherchais :(

  2. Cool dit :

    :D :[ :(( 8) :o 0) x| :bravo: :bye: :no: ???

  3. Web Tolosa dit :

    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:

  4. celestin dit :

    marche pas d’abord. je travaille à l’ameliorer.
    ciao :))

Commentaire

Name

Mail (ne sera pas publié)

Website

Laisser ces deux champs tels quels :
:D :-) :( :o 8O :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: