Suivez les fils RSS
 

Des livres incontournables pour tout maîtriser

  • CSS avancées - vers HTML5 et CSS3
  • HTML5
  • CSS2
  • PHP5 avanc�
  • Memento MySQL
  • Memento CSS 3
  • Memento XHTML
  • WordPress 3 100% pratique
  • jQuery et jQuery UI
Auteur
louis1984
#
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
#
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
#
Citer
11 Posts
Un grand merci, ca marche du tonerre!! biggrin

A plus cligne

^
Heyoan
#
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
#
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
#
Citer
Modérateur
8101 Posts
Pas compris.

^
louis1984
#
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
#
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
#
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
#
Citer
Modérateur
8101 Posts
Une petite recherche Google.

^
louis1984
#
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
#
Citer
11 Posts
svp aidez moi!!! rale

^
Heyoan
#
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
#
Citer
11 Posts
bon bah tanpis j'laisse tomber le slider.

Merci quand meme pour votre aide

^