Ce matin sbeex un lecteur assidu, m'a demandé de lui confectionner un petit script pour parser un flux rss et en ré-afficher les informations ...
Alors j'en profite pour partager le script ici, ça peut toujours servir à quelqu'un ...
Notez qu'il y a 3 paramètres à configurer :
- l'url du flux à parser
- le nombre d'items à afficher
- le nombre de caractères à afficher
Comme toujours cela peut évoluer, alors discutons-en ...
<?php
/***************************************************************
Paramètres de configuration du script
/**************************************************************/
$flux = 'http://feeds.feedburner.com/Jarodxxx?format=xml'; // adresse du flux à afficher
$nb_items = 5; // nombre d'éléments à afficher
$size_texte = 60; //nombre de caractères à afficher
/***************************************************************/
function TruncText ($text , $size, $charset='utf-8'){
$text = strip_tags ( html_entity_decode( $text , ENT_COMPAT, $charset ) );
if ( strlen( $text) + 4 > $size ) {
$text = substr ( $text , 0 , $size).' ...' ;
}
return $text;
}
$xml = simplexml_load_file($flux);
echo '<ul">'."\n";
$i = 0;
foreach ( $xml->channel->item as $value){
if ( $i < $nb_items ){
echo '<li>
<a href="'.$value->link.'">'.utf8_decode($value->title).'</a>
<span>'.utf8_decode(TruncText($value->description, $size_texte )).'</span>
</li>'."\n";
echo '<br />'."\n";
}
$i++;
}
echo '</ul>'."\n";
?>
LES COMMENTAIRES (3)
posté le 19 novembre à 18:27
hey, j'ai testé beaucoup de parser et celui est le meilleur que j'ai trouvé !! Pas de problème d'afficahge à cause des balises CDATA etc..
posté le 29 mars à 11:18
Excellent script je te félicite pour ce que tu fait bravo
posté le 04 juin à 15:27
Merci beaucoup de ce script qui est fort utile ! A tout hasard, savez-vous comment faire pour réduire le temps de chargement d'une page lorsque l'on utilise plusieurs fois ce script ? Merci à vous et bonne continuation ;)