Bonjour,

Je me lance dans la lecture de flux RSS en php, j'ai donc commencé par lire ce tuto : http://ghostdogpr.developpez.com/articles/rss/

J'ai deux petits problèmes :

Problème N°1 :

J'ai donc dans ma page actualites.php, exactement cet extrait de code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
36
37
38
39
40
41
42
<?php
 
 
function lit_rss($fichier,$objets) {
 
	// on lit tout le fichier
	if($chaine = @implode("",@file($fichier))) {
 
		// on découpe la chaine obtenue en items
		$tmp = preg_split("/<\/?"."item".">/",$chaine);
 
		// pour chaque item
		for($i=1;$i<sizeof($tmp)-1;$i+=2)
 
			// on lit chaque objet de l'item
			foreach($objets as $objet) {
 
				// on découpe la chaine pour obtenir le contenu de l'objet
				$tmp2 = preg_split("/<\/?".$objet.">/",$tmp[$i]);
 
				// on ajoute le contenu de l'objet au tableau resultat
				$resultat[$i-1][] = @$tmp2[1];
			}
 
		// on retourne le tableau resultat
		return $resultat;
	}
}
 
$rss = lit_rss("http://www.20minutes.fr/rss/une.xml",array("title","link","description","pubDate"));
 
echo '<center><table cellpadding="0" cellspacing="0" class="portal_table" width="100%">';
 
foreach($rss as $tab) {
  echo '<tr><td class="header">'.$tab[0].'</td></tr>';
  echo '<tr><td>'.$tab[2].' <a href="'.$tab[1].'">Lire tout l\'article</a></td></tr>';
  echo '<tr><td><div align=right>posté le '.date("d/m/Y",strtotime($tab[3])).'</div></td></tr>';
}
 
echo '</table></center>';
 
?>
Je souhaite récuperer le flux RSS du site 20minutes.fr, hors la description de l'item ne s'affiche pas... (voir http://www.caleoo.com/actualites.php).

Peut être ça vient du site 20minutes.fr ?
Si quelqu'un peut tester ce flux xml

Problème N°2 :

Je souhaite maintenant récupérer le flux RSS du site DailyMotion, donc toujours avec le même script :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
<?php
 
 
 
//FLUX RSS 2
 
function lit_rss2($fichier,$objets) {
 
	// on lit tout le fichier
	if($chaine = @implode("",@file($fichier))) {
 
		// on découpe la chaine obtenue en items
		$tmp = preg_split("/<\/?"."item".">/",$chaine);
 
		// pour chaque item
		for($i=1;$i<sizeof($tmp)-1;$i+=2)
 
			// on lit chaque objet de l'item
			foreach($objets as $objet) {
 
				// on découpe la chaine pour obtenir le contenu de l'objet
				$tmp2 = preg_split("/<\/?".$objet.">/",$tmp[$i]);
 
				// on ajoute le contenu de l'objet au tableau resultat
				$resultat[$i-1][] = @$tmp2[1];
			}
 
		// on retourne le tableau resultat
		return $resultat;
	}
}
 
$rss= lit_rss2("http://www.dailymotion.com/rss/fr/featured/1",array("title","link","description","pubDate"));
 
 
 
 
 
 
echo '<center><table cellpadding="0" cellspacing="0" class="portal_table" width="100%">';
 
foreach($rss as $tab) {
  echo '<tr><td class="header">'.$tab[0].' <a href="'.$tab[1].'"> Voir la video</a></td></tr>';
  echo '<tr><td>'.$tab[2].'</td></tr>';
 
 
 
 
}
 
echo '</table></center>';
 
 
 
 
 
?>
Dans ce cas, la lecture de la description fonctionne(voir http://www.caleoo.com/actualites_dm.php), mais à la fin de chaque description apparait les caractères ]]>

- Voilà j'ai cherché des solutions à ces deux problèmes toute l'après-midi mais en vain, donc je fais appel à vous pour m'aider...

Peut-être que la fonction que j'ai récupéré sur le tutoriel est un peu trop simple et pas assez souple pour accueilir différents formats/structures... de flux RSS

Merci