Portail PHP

Forum de discussion et d'aide au php

Vous n'êtes pas identifié.

Annonce

Regles d'utilisation des forums : pensez à toujours les respecter si vous désirez obtenir des réponses rapides.
FAQ : pensez à toujours chercher dedans si la réponse à votre question est dedans.
Proposez vos news : si vous avez un evenement à annoncer
le chat : venez discuter de php.
 

#1 12-12-2004 07:38:29

dmathieu
Ex-Webmaster
Lieu: Lyon, France
Date d'inscription: 25-06-2004
Messages: 3384
Site web

Récuperer un flux rss distant avec php4

PHP5 permet de récuperer simplement un flux rss grace à Simple XML
mais, tous les hebergeurs ne proposent pas encore php5...

voici donc deux fonctions permettant de récuperer un flux rss en php4

Code:

function lit_xml($fichier,$item,$champs) {
   // on lit le fichier
   if($chaine = @implode("",@file($fichier))) {
      // on explode sur <item>
      $tmp = preg_split("^</?".$item.">^",$chaine);
      // pour chaque <item>
      for($i=1;$i<sizeof($tmp)-1;$i+=2)
         // on lit les champs demandés <champ>
         foreach($champs as $champ) {
            $tmp2 = preg_split("^</?".$champ.">^",$tmp[$i]);
            // on ajoute au tableau
            $tmp3[$i-1][] = @$tmp2[1];
         }
      // et on retourne le tableau
      return $tmp3;
   }
}

function rssReader($fileRSS) {

   $xml = lit_xml($fileRSS,"item",array("title","link"));
   foreach($xml as $row) {
   if (@$i < 11){
    $row[0] = str_replace('<![CDATA[', '', $row[0]);
    $row[0] = str_replace(']]>', '', $row[0]);
      $retour = @$retour.'<a href="'.$row[1].'" class="rss">'.$row[0].'</a><br/>';
       if (strlen($row[0])>47) {$i = $i+2;}
      else {@$i++;}
      }
   }
   return $retour;
}

exemple de parsage de fichier rss :

Code:

<?php echo rssReader('http://www.phportail.net/forum/forum.xml'); ?>

Hors ligne