Script Flux RSS

WRInaute passionné
Bonjour à tous,

J'aimerais installer sur l'un de mes sites Internet un systéme de reprise de fluxrss classé par date et non par site.
Je m'explique, j'ai installé :
https://www.webrankinfo.com/analyses/art ... cation.php
J'ai modifié mon feedparser de la sorte :
Code:
<?php
// inclusion de la classe magpierss
require_once("magpierss/rss_fetch.inc");

function FeedParser($url_feed, $nb_items_affiches=10)
{
  // lecture du fichier distant (flux XML)
  $rss = fetch_rss($url_feed);

  // si la lecture s'est bien passee,
  // on lit les elements
  if (is_array($rss->items))
  {
   // on ne recupere que les elements les + recents
   $items = array_slice($rss->items,
    0, $nb_items_affiches);

   // debut de la liste
   // (vous pouvez indiquer un style CSS
   // pour la formater)
   //$html = "<ul>\n";

   // boucle sur tous les elements
   foreach ($items as $item)
   {
$date = date("d-m-Y", parse_w3cdtf($item['dc']['date']));
$html .= "$date : <a href=\"".$item['link']."\">";
    $html .= $item['title']."</a><br></li>\n";
//supprimer la description    $html .= $item['description']."</li><br><br>\n";
   }
   $html .= "</ul>\n";
 }

 // retourne le code HTML a inclure dans la page
 return $html;
}
?>

Mon problème ? Les informations sont classés par site. Plus concrétement j'ai actuellement :
Site 1 :
- 15-05-2007 : Mon actu 1 de mon site 1
- 20-05-2007 : Mon actu 2 de mon site 1

Site 2 :
- 16-05-2007 : Mon actu 1 de mon site 2
- 23-05-2007 : Mon actu 2 de mon site 2

Et je souhaite avoir un affichage de la sorte (par date) :
- 15-05-2007 : Mon actu 1 de mon site 1
- 16-05-2007 : Mon actu 1 de mon site 2
- 20-05-2007 : Mon actu 2 de mon site 1
- 23-05-2007 : Mon actu 2 de mon site 2

Est-ce que quelqu'un peut me filer un coup de main ? Ou alors me conseiller autre chose que MagpieRSS ?

Merki d'avance ;)
 
WRInaute passionné
Une solution de facilité pourrais être de passer par un aggrégateur externe comme Yahoo! pipes : http://pipes.yahoo.com/pipes/

Tu aggrèges les sites que tu veux syndiquer, ils ressortent triés par dates dans le flux généré par pipes, et tu récupères ce flux pour l'affichage sur ton site.
 
Nouveau WRInaute
Un peu de bidouillage

Il y'a 2 possibilités :
Avec PHP, tu joins les 2 tableaux (array des flux, array_merge() ou +) puis tu fais un tri par date (sort) et tu passes ce nouveau tableau en argument $item.

Sinon, passe par javascript pour trier le tableau affiché :
http://kryogenix.org/code/browser/sorttable/

Je me demande si les transformations XLST ne seraient pas plus appropriées pour traiter des documents XML ?
 
WRInaute passionné
Je viens d'essayer les pipes de Yahoo, je pense que sa peut-être intéressant, d'autant plus que cela ne fait pas ramer mon serveur !

Je me demande si les transformations XLST ne seraient pas plus appropriées pour traiter des documents XML ?
C'est à dire ? Je ne suis absolument pas compétent dans ce domaine...si tu as plus de précision à me fournir, je suis preneur ! ;)
 
Discussions similaires
Haut