Flux distant RSS avec PHP 4.3
Bonjour,
J'ai un lien vers un flux RSS : http://philvaness.ning.com/activity/log/list?fmt=rss.
Je cherche à le lire via ce bout de code sur mon site, mais visiblement il n'arrive pas à lire le flux, alors que ce dernier sous forme d'un fichier xml passe bien ?? Quelqu'un aurait une idée ? Merci
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
|
<?php
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;
}
echo rssReader('test.xml');
?> |