Bonjour à tous et à toutes,
Je débute en PHP, j'ai téléchargé et installé sur mon site MagpieRSS.
L'outil permet de parser (récupérer) les flux RSS d'autres sites et de les afficher sur son site.
Tout se passe bien, je rencontre néanmoins un problème dans la gestion des dates. Soit, les dates retournées sont complètement erronées, du type 01/01 00,00,00 ou j'ai un décalage d'une heure.
J'ai lu que 'mktime' pouvait m'aider mais je ne sais vraiment pas comment l'utiliser.
Voici comment j'appelle feedparsr.php dans ma page principale:
Notons que j'ai plusieurs feedparser afin de gérer les différentes formes de dates les voici:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <?php require_once("feedparser.php"); echo FeedParser("http://www.football365.fr/rss/filinfo.xml"); ?>
Le premier
le second:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 <?php require_once("magpierss/rss_fetch.inc"); function FeedParser($url_feed, $nb_items_affiches=10) { $rss = fetch_rss($url_feed); if (is_array($rss->items)) { $items = array_slice($rss->items, 0, $nb_items_affiches); $html = "<ul>\n"; foreach ($items as $item) { $date = date("d/m, H:i", strtotime($item['pubdate'])); $html .= "<li><b>"; $html .= $date." :</b><a href=\"".$item['link']."\"target=\"_blank\">"; $html .= $item['title']."</a></li>\n"; } $html .= "</ul>\n"; } return $html; } ?>
le résultat ici: http://fr.footrss.com
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 <?php require_once("magpierss/rss_fetch.inc"); function FeedParser2($url_feed, $nb_items_affiches=10) { $rss = fetch_rss($url_feed); if (is_array($rss->items)) { $items = array_slice($rss->items, 0, $nb_items_affiches); $html = "<ul>\n"; foreach ($items as $item) { $date = date("d/m, H:i", parse_w3cdtf($item['dc']['date'])); $html .= "<li><b>"; $html .= $date." :</b><a href=\"".$item['link']."\"target=\"_blank\">"; $html .= $item['title']."</a></li>\n"; } $html .= "</ul>\n"; } return $html; } ?>
Comme vous pouvez le constater eurosport.fr à un décalage de +1h j'utilise strotime. J'aimerais corriger ce décalage.
Certains n'ont pas de dates car les dates retournées sont fausses, exemple sportstrategies.com, la terminaison du flux est en .php les dates affichées sont toute de cette forme 01/01 00:59...
Pouvez-vous m'aider s'il vous plaît car je sèche
D'avance merci
Kevin
Partager