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 29 30 31 32 33 34 35 36 37 38 39 40 41 42
| <?php
$feeds = array(
'toolinux'=>'http://feeds.feedburner.com/toolinux',
'linuxfr'=>'http://linux fr.org/news.atom'
);
// on recolte tout
foreach ($feeds as $feedname=>$url) {
$rss = simplexml_load_file($url);
switch ($feedname) {
case 'toolinux' :
foreach ($rss->channel->item as $item) {
$namespaces = $item->getNameSpaces(true);
$dc = $item->children($namespaces['dc']);
$data[] = array('channel'=>$rss->channel->title, 'title'=>(string)$item->title, 'link'=>(string)$item->link, 'date'=>date_create($dc->date));
}
break;
case 'linuxfr' :
foreach ($rss->entry as $item) {
$data[] = array('channel'=>$feedname, 'title'=>(string)$item->title, 'link'=>(string)$item->link, 'date'=>date_create($item->updated));
}
break;
}
}
// trie par date
foreach ($data as $key => $row) {
$date[$key] = $row['date'];
}
array_multisort($date, SORT_DESC, $data);
// les 10 derniers
$last_data = array_slice($data, 0, 20);
echo '<ul>';
foreach ($last_data as $value) {
$date_news=date_format($value['date'], 'd-m-Y H:i:s');
echo '<li><a href="' . $value['link'] . '">' . $value['title'] . '</a>, publié le ' . $date_news . 'par ' . $value['channel'] . '</li>';
}
echo '</ul>';
?> |
Partager