48 inscrits



  • Visites de la page : [777]
  • Catégorie : XML
  • Modifié le : 05-05-2004
  • Site auteur : Site de l'auteur




Code permettant de parser facilement un backend rss et d'en personnaliser l'affichage.


   Code:
<?php
/* ------------------------------------------------------
 Parser de rss - by comscripts
------------------------------------------------------- */

$site "http://partner.comscripts.com/xml/topten_cs.xml";
$fp = @fopen($site,"r");
while(!
feof($fp)) $raw .= @fgets($fp4096);
fclose($fp);

if( 
eregi("<item>(.*)</item>"$raw$rawitems ) ) {
 
$items explode("<item>"$rawitems[0]);

 for( 
$i 0$i count($items)-1$i++ ) {
  
eregi("<title>(.*)</title>",$items[$i+1], $title );
  
eregi("<url>(.*)</url>",$items[$i+1], $url );
  
eregi("<categorie>(.*)</categorie>",$items[$i+1], $cat);
  echo 
"<li><a href='".$url[1]."'>".$title[1]."</a> - ".$cat[1];
 }
}

?>

Ou

<?php
/* ------------------------------------------------------
 Parser de rss - by ASP-PHP.net
------------------------------------------------------- */

// Lecture d'un fichier XML
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;
   }
}

// Exemple :
$xml lit_xml("http://www.asp-php.net/rss.php","item",array("title","link","pubDate","description"));
// et on affiche...
echo "<ul>";
foreach(
$xml as $row) {
   echo 
"<li>"
      
."<font size=2 color=gray>[".date("d/m/Y",strtotime($row[2]))."]</font> "
      
."<A target=_blank href='".$row[1]."'>".$row[0]."</A><br>"
      
.$row[3]
      .
"</li>";
}
echo 
"</ul>";
?>


Anaïs a écrit le 16/05/2006 à 15:45
Bonjour, j'utilise le deuxième script qui fonctionne bien mais j'ai deux questions, quel code je dois inclure pour limiter la description (paramètre 3) à 200 caractères et comme puis-je limiter le nombre d'affichage à 1. Sachant que j'ai retouché le code pour qu'il s'adapte à mon design : // Exemple : $xml = lit_xml("[url];)); // et on affiche... echo ; foreach($xml as $row) { echo "" ."<B><A target=_top style=text-decoration:none; href='".$row[1]."'><font face=Arial color=#FF9900 size=2>".$row[0]." - </font></A></B>" ."<font face=Arial size=2 color=#666666>".$row[3]."...</font> " ."<p><br><p><p>"; } echo ; ?> Merc d'avance.


Nom / Pseudo :    
Email :
image de securisation du formulaire
Commentaire :




.: Easy-Script © 2002/2008 - Tous droits réservés - CNIL N°1098778 - Gén en 0.230 sec :.                        Top