8797 sujets

Développement web côté serveur, CMS

Bonjour à tous,

J'utilise Magpie RSS, un parser RSS en PHP, pour les flux. Il me sert pour afficher les billets de DotClear, un blog en PHP, afin de gérer les news de mon site dans sa future version (encore dans mes labos lol). Smiley smile

Certains objets (a.k.a. items) contiennent deux points dans leur nom, comme <dc:creator> par exemple. Si je mets ça directement dans le code à éditer de Magpie, ça ne s'affiche pas...

J'ai trouvé cela, mais je ne vois pas trop comment l'adapter. J'avais fait ceci mais c'est faux apparement :

<?php
require_once '../rssreader/rss_fetch.inc';

$num_items = 3;
$url = '/lien/vers-le/rss.php';
$rss = fetch_rss($url);

$items = array_slice($rss->items, 0, $num_items);

foreach ($rss->items as $item ) {
        $title = $item[title];
        $url   = $item[link];
        $description = $item[description];
        $creator = $item['dc']['creator'];
        $date = $item['dc']['date'];
$jour = explode('-',substr($date,0,strlen($date)-15));
$date = $jour[2].'/'.$jour[1].'/'.$jour[0].' ('.substr($date,11,8).')';

         echo "<a href=\"$url\" target=\"_blank\">$title</a><br>\n";
         echo "Par $creator, le $date<br><br>\n";
         echo "$description \n";
         echo "<a href=\"$url\" target=\"_blank\">[Lire  la suite...]</a><br><br>\n";
}
?>


Ma solution a donc été, pour l'instant, de modifier le générateur du RSS afin que le nom de l'item soit <dccreator> (et <dcdate>), mais c'est malheureusement pas valide... Smiley decu

Comment faire passer ces deux points dans mon parser ? Smiley sweatdrop
Merci d'avance pour vos lumières, Joffrey.
Modifié par pickupjojo (20 Apr 2005 - 20:29)
Au passage, je signale qu'actuellement j'ai modifié le générateur de mon flux RSS pour qu'il enlève les deux points. Mais c'est invalide (même si ça marche), donc bon... Smiley confus
Problème réglé... Smiley biggrin Honte à moi, la solution était bien celle que j'avais trouvée, mais comme le temps de cache du parser est de 1 heure, je n'avais pas le temps de voir les changements. Smiley biggol Smiley lol