Afficher un flux RSS sur son site avec PHP

Petit tuto repris de cette adresse qui permet de façon très simple d'afficher un flux RSS sur son site web avec PHP.

PHP 5 introduit l'extension DOM et de fait, il est désormais plus facile de travailler avec des documents XML. Vous avez juste besoin "d'un peu de code" pour récupérer et afficher un feed RSS...

Voici comment procéder :

1 - Créez un fichier rssclass.php avec le code suivant :

<?php
class rss {
var $feed;
function rss($feed) {
  $this->feed = $feed;
}
function parse() {
  $rss = simplexml_load_file($this->feed);
  $rss_split = array();
  foreach ($rss->channel->item as $item) {
   $title = (string) $item->title; // Title
   $link = (string) $item->link; // Url Link
   $description = (string) $item->description; //Description
   $rss_split[] = '<div class="post">
       <a href="' . $link . '" target="_blank" title="" >
        ' . $title . '
       </a>
       </div>';
  }
  return $rss_split;
}
function display($numrows, $head) {
  $rss_split = $this->parse();
  $i = 0;
  $rss_data = '
    <div class="vas">
           <div class="title-head">
         ' . $head . '
           </div>
         <div class="feeds-links">';

  while ($i < $numrows) {
   $rss_data .= $rss_split[$i];
   $i++;
  }
  $trim = str_replace('', '', $this->feed);
  $user = str_replace('&lang=en-us&format=rss_200', '', $trim);
  $rss_data.='</div></div>';
  return $rss_data;
}
}
?>

Puis placez le code suivant là où vous souhaitez faire apparaitre le flux RSS :

<?php
	include('rssclass.php');
	$feedlist = new rss('http://feeds.feedburner.com/TechieAt');
	echo $feedlist->display(8, "Techieat Post");
?> 

Bien évidemment, vous devez changer l'adresse du flux RSS à la ligne 2.

Le code ci-dessus affichera les 8 derniers articles du flux. Adaptez selon vos souhaits (mettez à 5 si vous voulez afficher les 5 derniers articles, ...). Changer également le titre du flux qui apparaitra en début de paragraphe... ou ne mettez rien ... pour ne rien afficher.

Exemple :

<?php
	include('rssclass.php');
	$feedlist = new rss('http://www.freeostorrent.fr/rss.php');
	echo $feedlist->display(5);
?> 

Vous pourrez (devrez) également adapter ou créer la partie CSS correspondante du fichier rssclass.php.

Ce code est dailleurs "en fonction" sur ce site ! Ca fonctionne vraiment très bien ! ;)

http://www.mumbly58.fr : Geek & Libre !

Vus : 4812
Publié par mumbly58 : 35