Parser flux RSS

Parser flux RSS - PHP - Programmation

Marsh Posté le 28-06-2006 à 09:16:39    

Quand je parse le fichier rss.php de dotclear je m'heurte à un problème.
En effet j'utilise lastRSS et dans une partie de mon code je fait ceci qui récupère ce qu'il y a entre les balises <description></description>
 
 
 

Code :
  1. <?php echo "".$item['description']."";?>


 
Cependant ceci ne permet pas d'avoir une mise en page car entre ces balises les sauts de ligne etc ne sont pas pris en compte.
En effet
Code:
 
 

Code :
  1. <description>Voila la première news du tout nouveau design du site 802point11.
  2. J'éspère qu'il vous plaira et vous satisfaira pour répondre à vos questions.
  3. Si tel n'était pas le cas nous sommes à votre disposition pour y répondre, pour cela vous pourrez nous contacter dans la rubrique contact.
  4. Bonne...</description>


 
Par contre j'aimerai récupérer ce qu'il y a entre les balises <content:encoded>
 
Code:
 
 

Code :
  1. <content:encoded><![CDATA[ <p>Voila la première news du tout nouveau design du site 802point11.</p><br>
  2. <p>J'éspère qu'il vous plaira et vous satisfaira pour répondre à vos questions.</p><br>
  3. <p>Si tel n'était pas le cas nous sommes à votre disposition pour y répondre, pour cela vous pourrez nous contacter dans la rubrique contact.</p>
  4. <p>Bonne visite à tous.</p>]]></content:encoded>
  5. Cependant je n'y arrive pas en faisant ceci


 
 
 

Code :
  1. <?php echo "".$item['content:encoded']."";?>


 
Le ![CDATA[ doit poser des problèmes?
 
COmment faire pour récupérer le contenu avec la mise en forme c'est à dire ce qu'il y a entre les balises  content:encoded
 
Cordialement

Reply

Marsh Posté le 28-06-2006 à 09:16:39   

Reply

Marsh Posté le 28-06-2006 à 10:57:27    

masseur a écrit :

Cependant ceci ne permet pas d'avoir une mise en page car entre ces balises les sauts de ligne etc ne sont pas pris en compte.


nl2br();
 

masseur a écrit :


Le ![CDATA[ doit poser des problèmes?


Je pense pas mais c'est quoi ton erreur au juste ?


---------------
Posté depuis des chiottes, sales. Me gusta.
Reply

Marsh Posté le 28-06-2006 à 11:13:16    

En fait j'utilise lastrss.
I lrécupère donc automtiquement ce qu'il  ya contenu entre les différentes balises.
Mais pour recupérer content:encoded j'ai cette erreur

Code :
  1. Notice: Undefined index: content:encoded in


 
Merci

Reply

Marsh Posté le 28-06-2006 à 11:16:42    

Je ne connais pas lastrss, tu ferais peut etre bien de regarder de plus pres le fonctionnement de cette librairie car ton erreur veut dire que le tableau item ne contient pas d'element à l'index "content:encoded". Maintenant il zappe peut etre les namespace donc tu peux essayer avec  
$item["encoded"] ou $item["content"]


---------------
Posté depuis des chiottes, sales. Me gusta.
Reply

Marsh Posté le 28-06-2006 à 11:50:23    

J'ai eu bo chercher j'ai pas trouvé.
Surement pas géré.
 
Je me suis rabattu sur magpieRSS ou cela fonctionne en faisant comme ceci

Code :
  1. $item['content']['encoded']


 
Merci

Reply

Marsh Posté le 07-08-2009 à 08:52:08    

masseur a écrit :

J'ai eu bo chercher j'ai pas trouvé.
Surement pas géré.
 
Hi everyone.  
I've fixed my problem using an xpath function named registernamespace like this:  
 

Code :
  1. $item->registerNamespace('media', 'http://search.yahoo.com/mrss');
  2. $item->xpath('/*/media:description');
  3. $desc = $item['desciption'];


 
you have to repeat this for each element you got in your xml file, for instance media:title, media:thumbnail...
 
Hope this will help.
 


Message édité par eto17 le 07-08-2009 à 13:49:27
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed