Suivez les fils RSS
 
Auteur
louis1984
# 10 Feb 2010 - 19:05:55
Citer
11 Posts
Bonjour,

Comment faire pour obtenir un seul flux RSS a partir de plusieurs flux RSS differents sans passer par un site externe du type http://feedmingle.com ?

Est-ce que je peux par exemple ecrire:

<?php
$url = 'http://www.lemonde.fr/rss/sequence/0,2-3234,1-0,0.xml';
$url = 'http://www.lemonde.fr/rss/fil/0,57-0,64-1100142,0.xml';
$url = 'http://rss.feedsportal.com/c/499/f/413863/index.rss';
$url = 'http://rss.feedsportal.com/c/499/f/413839/index.rss';
$url = 'http://www.capital.fr/rss2/feed/fil-bourse.xml';
$url = 'http://www.lefigaro.fr/rss/figaro_tauxetdevises.xml';

$dom = new DOMDocument();
$dom->load($url);

$i = 1;
foreach($dom->getElementsByTagName('item') as $item) {
if($i <= 4) {
echo "\t\t\t".'<div class="section" id="article'.$i.'">'."\n";
echo "\t\t\t\t".'<h4>'.trim($item->getElementsByTagName('title')->item(0)->nodeValue).'</h4>'."\n";
echo "\t\t\t\t".trim($item->getElementsByTagName('description')->item(0)->nodeValue)."\n";
echo "\t\t\t".'</div>'."\n\n";
$i++;
}
}
?>


Merci pour votre aide.
Modifié par louis1984 (12 Feb 2010 - 19:19)

^
Heyoan
# 10 Feb 2010 - 19:37:42
Citer
Modérateur
8101 Posts
Re-salut,

$urls = array( 
'http://www.lemonde.fr/rss/sequence/0,2-3234,1-0,0.xml',
'http://www.lemonde.fr/rss/fil/0,57-0,64-1100142,0.xml',
'http://rss.feedsportal.com/c/499/f/413863/index.rss',
'http://rss.feedsportal.com/c/499/f/413839/index.rss',
'http://www.capital.fr/rss2/feed/fil-bourse.xml',
'http://www.lefigaro.fr/rss/figaro_tauxetdevises.xml'
);

$nb_titres_par_url = 4;

$dom = new DOMDocument();

$i = 0;

foreach($urls as $url) {
$dom->load($url);
foreach($dom->getElementsByTagName('item') as $item) {
$i++;
echo "\t\t\t".'<div class="section" id="article'.$i.'">'."\n";
echo "\t\t\t\t".'<h4>'.trim($item->getElementsByTagName('title')->item(0)->nodeValue).'</h4>'."\n";
echo "\t\t\t\t".trim($item->getElementsByTagName('description')->item(0)->nodeValue)."\n";
echo "\t\t\t".'</div>'."\n\n";
if(($i%$nb_titres_par_url) == 0) {
break;
}
}
}

Modifié par Heyoan (10 Feb 2010 - 20:04)

^
louis1984
# 10 Feb 2010 - 20:20:37
Citer
11 Posts
Un grand merci, ca marche du tonerre!! biggrin

A plus cligne

^
Heyoan
# 10 Feb 2010 - 20:26:32
Citer
Modérateur
8101 Posts
De rien.

Ça pourrait être une bonne idée d'apprendre les bases de php (il existe de nombreux tutos sur le Web).

Si tu considères que ce sujet est [Résolu] merci de l'indiquer en éditant ton premier post et en modifiant le titre. cligne

^
louis1984
# 11 Feb 2010 - 20:42:37
Citer
11 Posts
Hello,

Une derniere question, comment je peux faire pour que le code m'affiche les 4 derniers messages de l'ensemble des flux (et pas les 4 derniers codes de chacun des flux)?

^
Heyoan
# 11 Feb 2010 - 20:53:03
Citer
Modérateur
8101 Posts
Pas compris.

^
louis1984
# 11 Feb 2010 - 21:03:21
Citer
11 Posts
Le code affiche pour le moment les 4 derniers articles de chaque flux RSS dans la liste des flux.

'http://www.lemonde.fr/rss/sequence/0,2-3234,1-0,0.xml',
'http://www.lemonde.fr/rss/fil/0,57-0,64-1100142,0.xml',
'http://rss.feedsportal.com/c/499/f/413863/index.rss',
'http://rss.feedsportal.com/c/499/f/413839/index.rss',
'http://www.capital.fr/rss2/feed/fil-bourse.xml',
'http://www.lefigaro.fr/rss/figaro_tauxetdevises.xml'


J'aimerais que le code affiche les 4 derniers articles de l'ensemble des flux RSS de la liste. En gros j'aimerais afficher les 4 derniers articles les plus recents qui sont publies sur les differents sites internet via le slider glider.js

Mais je ne sais pas comment je dois modifier le code..

^
Heyoan
# 11 Feb 2010 - 21:33:29
Citer
Modérateur
8101 Posts
Ben à priori il faut récupérer le noeud pubDate, le transformer en date permettant un tri. Pour te donner un exemple :
$date = 'Thu, 11 Feb 2010 17:15:06 GMT';
echo date('YmdHis', strtotime($date));
alimenter 1 ou des array(s), trier et ne prendre que les 4 plus récents.

Si je ne te donne pas le code tout fait c'est que j'ai l'impression que tu ne fais que du copier/coller et que tu n'apprends rien ! langue

De plus cela va à l'encontre de la règle 16 du forum.

^
louis1984
# 12 Feb 2010 - 19:29:36
Citer
11 Posts
Le probleme est que je suis debutant et que je ne comprends rien a l'histoire du noeud, que je ne sais pas alimenter un tableau et faire un tri...

Je suis pret a apprendre donc si tu connais un bon tutorial qui explique precisement comment je peux faire, n'hesites pas a me donner le lien!

Merci.

^
Heyoan
# 12 Feb 2010 - 19:48:00
Citer
Modérateur
8101 Posts
Une petite recherche Google.

^
louis1984
# 13 Feb 2010 - 17:12:29
Citer
11 Posts
Je trouve pas la solution sur google. J'ai l'impression que ce que je veux faire est totalement hors de ma portee..

J'ai pas le encore le niveau pour faire ca alors est-ce que quelqu'un pourrait m'aider a modifier le code?

eek

^
louis1984
# 14 Feb 2010 - 13:25:55
Citer
11 Posts
svp aidez moi!!! rale

^
Heyoan
# 14 Feb 2010 - 13:29:29
Citer
Modérateur
8101 Posts
louis1984 a écrit :
J'ai pas le encore le niveau pour faire ca
Alors il faut apprendre. murf

louis1984 a écrit :
svp aidez moi!!! rale
Te mettre en colère ne changera pas grand chose. rolleyes

^
louis1984
# 14 Feb 2010 - 14:48:11
Citer
11 Posts
bon bah tanpis j'laisse tomber le slider.

Merci quand meme pour votre aide

^