Lecteur RSS en PHP

arthezius Messages postés 3538 Date d'inscription   Statut Membre Dernière intervention   -  
ze-life-of-quent1 Messages postés 1582 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je travail pour intégrer un lecteur RSS dans un site avec un code PHP.

J'ai trouvé ce code:
<?php
//Chargement du flux RSS

if($flux = simplexml_load_file('http://www.zone-webmasters.net/rss-articles.php'))
{
   $donnee = $flux->channel;

   //Lecture des données

   foreach($donnee->item as $valeur)
   {
      //Affichages des données

      echo '<p>'.date("d/m/Y",strtotime($valeur->pubDate)).' - <a href="'.$valeur->link.'">'.utf8_decode($valeur->title).'</a>';
      echo '<br/>'.utf8_decode($valeur->description).'</p>';
   }
}else echo 'Erreur de lecture du flux RSS';
?>


J'ai toutefois un problème pour récupérer la date à partir de ce flux:
https://reporterre.net/spip.php?page=backend

La balise utilisé est celle-ci:
<dc:date>2015-06-01T07:48:50Z</dc:date>


J'aurai, si je suis bien le principe du code précédent, dû répupérer la date comme suis:
$date = $valeur->dc:date;

Bien sur, ça ne fonctionne pas.
Parse error: syntax error, unexpected ':' in /var/www/..../flux.php on line 19


Auriez-vous une idée?
Merci par avance.


A voir également:

1 réponse

ze-life-of-quent1 Messages postés 1582 Date d'inscription   Statut Membre Dernière intervention   776
 
Bonjour,
« dc » est ce que l'on appelle un espace de noms (namespace). Pour pouvoir l'exploiter avec SimpleXML, il faut utiliser la méthode « children ». Ainsi, il ne faut pas écrire
$date = $valeur->dc:date;
mais
$date = $valeur->children('http://purl.org/dc/elements/1.1/')->date;
.
0