Intégration RSS et décalage horaire - PHP - Programmation
MarshPosté le 24-07-2007 à 02:52:16
Bonjour,
Après avoir essayé plusieurs services en ligne pour mixer des flux et ensuite les parser avec Magiepierss, j'obtiens toujours un décalage horaire de -6h dans le résultat final.
Je sais qu'il est possible de régler cela, notamment avec la fonction mktime en modifiant cette ligne : $date = date("d/m/y H:i",strtotime($item["pubdate"])); Mais malgré plusieurs tentatives, je n'y suis pas arrivé.
Je souhaiterais donc rétablir le décalage en ajoutant 6h aux dates des flux.
Merci pour votre aide.
Fabien
Voici le code de feedparser.php :
<?php // on inclut la classe magpierss require_once("magpierss/rss_fetch.inc" );
// la fonction FeedParser() va extraire le contenu pour l'afficher // elle prend en paramètre $url_feed, l'url du flux RSS et $nb_items_affiches, le nombre d'éléments (items) à afficher function FeedParser($url_feed, $nb_items_affiches=30) {
// lecture du fichier distant (flux XML) $rss = fetch_rss($url_feed);
// si le parcours du fichier se passe bien, on lit les élements (items) if (is_array($rss->items)) {
// on ne garde que les $nb_items_affiches premiers éléments (items), nombre défini dans l'en-tête de la fonction $items = array_slice($rss->items, 0, $nb_items_affiches);
// on fait une boucle sur les informations : pour chaque item, récupérer $titre... et afficher foreach($items as $item) {
// on mémorise les informations de chaque item dans des variables $titre = $item["title"]; $lien = $item["link"]; $description = $item["description"];
// 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"]));
// puis la date et la description $html .= "<span>$description</span><br clear=\"left\"><br />\n"; } // fin de la boucle
// on retourne la variable $html au programme (elle contient le code HTML pour l'affichage du flux) return $html; } // fin du traitement du fichier } // fin de la fonction FeedParser() ?>
Marsh Posté le 24-07-2007 à 02:52:16
Bonjour,
Après avoir essayé plusieurs services en ligne pour mixer des flux et ensuite les parser avec Magiepierss, j'obtiens toujours un décalage horaire de -6h dans le résultat final.
Je sais qu'il est possible de régler cela, notamment avec la fonction mktime en modifiant cette ligne : $date = date("d/m/y H:i",strtotime($item["pubdate"]));
Mais malgré plusieurs tentatives, je n'y suis pas arrivé.
Je souhaiterais donc rétablir le décalage en ajoutant 6h aux dates des flux.
Merci pour votre aide.
Fabien
Voici le code de feedparser.php :
<?php
// on inclut la classe magpierss
require_once("magpierss/rss_fetch.inc" );
// la fonction FeedParser() va extraire le contenu pour l'afficher
// elle prend en paramètre $url_feed, l'url du flux RSS et $nb_items_affiches, le nombre d'éléments (items) à afficher
function FeedParser($url_feed, $nb_items_affiches=30) {
// lecture du fichier distant (flux XML)
$rss = fetch_rss($url_feed);
// si le parcours du fichier se passe bien, on lit les élements (items)
if (is_array($rss->items)) {
// on ne garde que les $nb_items_affiches premiers éléments (items), nombre défini dans l'en-tête de la fonction
$items = array_slice($rss->items, 0, $nb_items_affiches);
// on fait une boucle sur les informations : pour chaque item, récupérer $titre... et afficher
foreach($items as $item) {
// on mémorise les informations de chaque item dans des variables
$titre = $item["title"];
$lien = $item["link"];
$description = $item["description"];
// 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"]));
// on affiche le titre de chaque item
$html .= "<b><span>$date</span> - <a href=\"".$lien."\" title=\"".$titre."\" target=\"_blank\">".$titre."</a></b><br>\n";
// puis la date et la description
$html .= "<span>$description</span><br clear=\"left\"><br />\n";
} // fin de la boucle
// on retourne la variable $html au programme (elle contient le code HTML pour l'affichage du flux)
return $html;
} // fin du traitement du fichier
} // fin de la fonction FeedParser()
?>