Outils pour utilisateurs

Outils du site


Writing /data/web/b7/3a/a1/jonas.tuxfamily.org/htdocs/wiki/data/cache/0/0d6a1a33fb17d6e547da873a7a686842.i failed
Unable to save cache file. Hint: disk full; file permissions; safe_mode setting.
apropos:lecteur_de_flux_rss
Writing /data/web/b7/3a/a1/jonas.tuxfamily.org/htdocs/wiki/data/cache/0/0d6a1a33fb17d6e547da873a7a686842.i failed
Unable to save cache file. Hint: disk full; file permissions; safe_mode setting.

Lecteur de flux RSS

Mon lecteur de flux est très largement basé sur le code http://ghostdogpr.developpez.com/articles/rss/#LIII.

Il permettait (j'ai découvert par la suite que dokuwiki intégrait un lecteur de flux) d'afficher les “5 derniers …” sur la page d'accueil.

function aff_rss($titre,$fichier,$nbtot=5,$iso2utf8=False) {
	$objets = array("title","link");
	if($chaine = @implode("",@file($fichier))) {
		$tmp = preg_split("/<\/?"."item".">/",$chaine);
		for($i=1;$i<sizeof($tmp)-1;$i+=2)
			foreach($objets as $objet) {
				$tmp2 = preg_split("/<\/?".$objet.">/",$tmp[$i]);
				$resultat[$i-1][] = @$tmp2[1];
			}
		echo "<strong>$titre</strong><ul>";
		$nb = 0;
		foreach ($resultat as $item) {
			if (strlen($item[0]) > 43)
				$itemAff = substr($item[0],0,20).'...'.substr($item[0],-20,20);
			else
				$itemAff = $item[0];
			if ($iso2utf8)
				echo utf8_encode('<li><a title="'.$item[0].'" href="'.$item[1].'">'.$itemAff.'</a></li>');
			else
				echo '<li><a title="'.$item[0].'" href="'.$item[1].'">'.$itemAff.'</a></li>';
			$nb += 1;
			if ($nb == $nbtot) 
				break;
		}
		echo '</ul>';
	}
}
  • $titre : le titre a afficher un gras au dessus du flux.
  • $fichier : l'adresse du flux.
  • $nbtot : (optionnel, par défaut 5) nombre d'item à affiché.
  • $iso2utf8 : (optionnel, par défaut faux) Faut-il convertir le flux d'ISO-8859-1 à UTF-8.
apropos/lecteur_de_flux_rss.txt · Dernière modification: 15/01/2010 12:34 (modification externe)