Lecteur de Flux RSS

Fermé
alexmarie69 - 21 janv. 2008 à 22:45
Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 - 25 janv. 2008 à 17:52
Bonjour,

Mon projet est de réaliser un lecteure de flus RSS sur mon site web.

Pour cela j'utilise "magpierss" qui marche très bien!

Mais voila mon fichier "feedparser.php", qui permet la lecture du flux, ne m'affiche pas le photo du flux alors qu'il en possède.

Le fichier " feedparser.php":


<?php
// inclusion de la classe magpierss
require_once("magpierss/rss_fetch.inc");

// Fonction d'extraction des données du flux
// 2 paramètres, l'url du flux et le nombre d'informations à afficher (5 par défaut)
function FeedParser($url_feed, $nb_items_affiches=5) {

 // lecture du fichier distant (flux XML)
 $rss = fetch_rss($url_feed);

 // si la lecture s'est bien passée, on lit les élements
 if (is_array($rss->items))  {      
 
   // On ne garde que les $nb_items_affiches premières informations
   $items = array_slice($rss->items, 0, $nb_items_affiches);

   // Récupération des informations sur le site et sur la vignette
   $site_titre = $rss->channel["title"];
   $site_lien = $rss->channel["link"];
   $site_description = $rss->channel["description"];
   $logo_titre = $rss->image["title"];
   $logo_description = $rss->image["description"];
   $logo_url = $rss->image["url"];
   $logo_lien = $rss->image["link"];

   // Création de la chaine de résultat

   // Vignette cliquable
   $html = "<span style=\"float:left;margin:5px 0 0 5px\"><a href=\"".$logo_lien."\"><img src=\"".$logo_url."\" border=\"0\" alt=\"".$logo_description."\" title=\"".$logo_titre."\"></a></span>\n";

   // Titre cliquable
   $html .= "<a href=\"".$site_lien."\" title=\"".$site_description."\" target=\"_blank\">".$site_titre."</a><br>\n";

   // Description
   $html .= "<span style=\"font-size:10px\">".$site_description."</span><br clear=\"left\"><br>\n";

   // Boucle sur les informations et récupérations du contenu des balises
   foreach($items as $item) {
     $titre = $item["title"];
     $lien = $item["link"];
     $description = $item["description"];
     	 if (isset($item["enclosure"])) { 
  $photo = $item["enclosure"]; 
} else { 
  $photo = ""; 
}
     // Convertion de la date au format Timestamp (secondes depuis le 01/01/70)
     // Formatage de la date (jj/mm/aa). Utilisez le formatage de votre choix.
     $date = date("d/m/y",strtotime($item["pubdate"]));

     // Il n'y a pas systématiquement une photo, on test donc sa présence    
     if($photo!="")
       $html .= "<img src=\"".$photo."\" alt=\"".$titre."\" style=\"float:left;margin-right:5px\">\n";

     // Affichage du titre
     $html .= "<a href=\"".$lien."\" title=\"".$titre."\" target=\"_blank\">".$titre."</a><br>\n";

     // Affichage de la date et de la description
     $html .= "<span class=\"tiny\">".$date." - ".$description = substr("$description",0 , 47).$titre = "...";"</span><br clear=\"left\"><br>\n";
} // Boucle sur les infos

 // retourne le code HTML à inclure dans la page
 return $html;
 } // Condition de récupération des données
} // Fin de la fonction

?>


dc je doi avoir une erreur quelque pars car aucune image ne s'affiche a pars le logo!

donc si vou trouvez la solution, dite le moi!

Pour que le résultat s'affiche sur ma page j'utilise :

<?php
// on inclut le fichier contenant la fonction FeedParser()
require_once("feedparser.php");

// on affiche le flux, avec en paramètres, l'URL du flux, et le nombre d'éléments à afficher, ici 10
// par exemple pour afficher les 10 dernières actualités de NotoOn
echo FeedParser("http://www.lemonde.fr/rss/sequence/0,2-3208,1-0,0.xml", 5);
?> 


voila je pense que tous est dit!
merci


Alexmarie69
A voir également:

1 réponse

Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 920
25 janv. 2008 à 17:52
salut,

et si tu nous montrais le code produit par le serveur ?
1