Forum de discussion et d'aide au php
Vous n'êtes pas identifié.
|
Regles d'utilisation des forums : pensez à toujours les respecter si vous désirez obtenir des réponses rapides. FAQ : pensez à toujours chercher dedans si la réponse à votre question est dedans. Proposez vos news : si vous avez un evenement à annoncer RefStats : Analysez votre positionnement sur les moteurs de recherche |
||
PHP5 permet de récuperer simplement un flux rss grace à Simple XML
mais, tous les hebergeurs ne proposent pas encore php5...
voici donc deux fonctions permettant de récuperer un flux rss en php4
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;
}
}
function rssReader($fileRSS) {
$xml = lit_xml($fileRSS,"item",array("title","link"));
foreach($xml as $row) {
if (@$i < 11){
$row[0] = str_replace('<![CDATA[', '', $row[0]);
$row[0] = str_replace(']]>', '', $row[0]);
$retour = @$retour.'<a href="'.$row[1].'" class="rss">'.$row[0].'</a><br/>';
if (strlen($row[0])>47) {$i = $i+2;}
else {@$i++;}
}
}
return $retour;
}exemple de parsage de fichier rss :
<?php echo rssReader('http://www.phportail.net/forum/forum.xml'); ?>Hors ligne