Probleme de date pour flux RSS

Probleme de date pour flux RSS - PHP - Programmation

Marsh Posté le 07-08-2007 à 22:47:44    

Salut à tous,
 
J'ai un problème  :fou: ...
J'essaie de récupérer le flux RSS : http://fr.guildwars.com/home/news.rss afin de l'afficher sur mon site (page de test : http://www.remain-nameless.fr/rss/news.php )
 
J'ai bien les articles, les titres, mais j'ai un probleme au niveau des dates elles apparaissent toutes le "07/08/07 6h00" (date du jour, mais l'heure ?)
Il faudrai simplement que les date entre le flux RSS que je souhaite récupérer soit les memes que sur mon site.
J'ai rajouter un D (majuscule) au pubDate car j'ai vu que dans le flux du site d'origine, il est bien noté avec un D majuscule.
Au départ (sans ce D), j'ai une date style 01/01/1970, ensuite j'ai eu la date du jour, mais je n'arrive pas à avoir la date du flux  :fou:  
 
J'utilise MagpieRSS, voici la partie du code qui pose problème... le fichier feedparser.php
 

Citation :


            // la date utilisée pour les flux RSS est au format timestamp, il faut donc formater la date
            // conversion au format jj/mm/aa. pour plus d'informations, vous conférer au tutorial sur les timestamp
            $date = date("d/m/Y H:i",strtotime($item["pubDate"]));  


 
 
Un exemple du code xml du flux RSS du site guild wars
 

Citation :

   <title>Guild Wars - News</title>
    <link>http://fr.guildwars.com/</link>
    <description></description>
    <language>en</language>
    <managingEditor>ukcommunity@ncbpostal.ncbrighton.nceu</managingEditor>
    <copyright>Copyright 2007</copyright>
    <pubDate>lun, 06 aoû 2007 19:00:00 +0200</pubDate>
    <generator>http://www.pmachine.com/expressionengine/</generator>
    <webMaster>ukcommunity@ncbpostal.ncbrighton.nceu</webMaster>


 
 
Si quelqu'un connais la solution, merci d'avance  ;)

Reply

Marsh Posté le 07-08-2007 à 22:47:44   

Reply

Marsh Posté le 08-08-2007 à 05:39:47    

Le flux originel de guildwars est incorrect, en particulier dû à la date qui n'est pas conforme RFC-822 (la date doit être en anglais), comme le montre le validateur en ligne suivant :
 
http://feedvalidator.org/check.cgi [...] e/news.rss
 
Or la fonction strtotime() attend en entrée une chaîne en anglais (jour/mois), d'où le problème.
Extrait du manuel PHP:
strtotime
 
(PHP 3 >= 3.0.12, PHP 4, PHP 5)
strtotime -- Parse about any English textual datetime description into a Unix timestamp
 
Solutions possibles :
- signaler à guildwars le problème pour correction.
- soit plus rapidement (mais pas très propre), convertir les jours/mois du français en anglais avant la soumission à strtotime (par exemple "lun" en "Mon", "aoû" en "Aug" etc...) $item["pubDate"]


Message édité par dnlilas le 08-08-2007 à 05:49:45
Reply

Sujets relatifs:

Leave a Replay

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