SimplePie ile birden fazla RSS okuyup tarihlerine göre sıralamak

SimplePie

Burada bahsettiğim PHP ile RSS okumak için kullanacağımız sınıflardan en kullanışlısı olan SimplePie ile Rss okumayı Eburhan burada detaylı bir şekilde anlattı. Ben de bu sınıf ile birden fazla RSS’i birleştirip zamanlarına göre sıralamaktan bahsetmek istiyorum.

Aşağıda rss birleştirip yayınlamamız için gereken kodlar var. Kodlar Simple Pie dökümantasyonundaki bu sayfadan alınmıştır.

 // Simple Pie sınıfını ekliyoruz
require_once('simplepie.inc');
 // Simple Pie sınıfı yaratıyoruz
$feed = new SimplePie();
 //Birleştireğimiz RSS'leri array'e ekliyoruz.
$feed->set_feed_url(array(
'http://feeds.feedburner.com/md-12/feed',
'http://feeds.feedburner.com/wordpress-tr',
'http://feeds.feedburner.com/Makeuseof'
));
$feed->init();
$feed->handle_content_type();

Burada dikkat etmemiz gereken nokta birleştirilen RSS’lerin tarih bölümlerinin olması (<pubDate>). Tarih bölümleri olmayan RSS’leri tarihe göre sıralamayacağı için onlar en üstte gözükecekler.

Aşağıdaki kodlarla da RSS’leri yazdırıyoruz.

<?php
foreach ($feed->get_items() as $item):?>
<h4><a href="<?php echo $item->get_permalink(); ?>">
<?php echo $item->get_title(); ?></a></h4>
<?php echo $item->get_content(); ?>
<p class="footnote">
Kaynak: <a href="<?php $feed = $item->get_feed(); echo $feed->get_permalink(); ?>">
<?php $feed = $item->get_feed(); echo $feed->get_title(); ?></a> | <?php echo $item->get_date('j M Y | g:i a T'); ?></p> <?php endforeach; ?>
Etiketler: , ,