Lecteur RSS en PHP

Fermé
arthezius Messages postés 3538 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 11 septembre 2016 - 1 juin 2015 à 21:04
ze-life-of-quent1 Messages postés 1582 Date d'inscription lundi 8 février 2010 Statut Membre Dernière intervention 17 octobre 2015 - 2 juin 2015 à 22:00
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 lundi 8 février 2010 Statut Membre Dernière intervention 17 octobre 2015 776
2 juin 2015 à 22:00
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