แสดง Feed ด้วย Simplepie
require_once('simplepie/simplepie.inc'); $feed = new SimplePie(); $feed->set_feed_url(array(0=>'http://www.blognone.com/atom.xml', 'http://feeds.feedburner.com/GoogleCodeNews?format=xml', 'http://images.apple.com/main/rss/hotnews/hotnews.rss', 'http://store.steampowered.com/feeds/news.xml')); $feed->enable_cache(false); $feed->set_item_limit(3); $feed->enable_order_by_date(true); $feed->init(); $feed->handle_content_type(); if ($feed->error()): echo $feed->error(); else: foreach($feed->get_items() as $item){ echo '<a href="'.$item->get_link().'"><b>'.$item->get_title().'</b></a>'; echo '('.$item->get_date().')'; } endif;
อธิบายการทำงาน
บรรทัดที่1-2: ใช้งาน library ของ Simplepie แล้วก็ new class ขึ้นมาใช้งานครับ
บรรทัดที่3: set url ของ feed ที่เราจะดึงมาแสดงผล
บรรทัดที่8: set false เพื่อปิดการใช้งาน cache แต่ถ้าเปิดเป็น true ต้องสร้าง folder cache ขึ้นมารองรับการทำงาน
บรรทัดที่9: ให้ feed แต่ละตัวที่เราเซ็ตเอาไว้แสดง feed ละ 3 ตัว
บรรทัดที่10: ให้ feed เรียงตามวันที่ ใหม่ -> เก่า
บรรทัดที่15: เช็กว่า feed มัน error รึป่าว
บรรทัดที่18: get_items() จะเป็นการดึงเอารายละเอียดของ feed ออกมาใช้งาน get_xxx ตัวอื่นก็ลองไปอ่านดูใน Reference ครับ ^^
ตามตัวอย่างนี้มันก็จะโหลด feed จากของ blognone, googlecode, apple แล้วก็ steam มาอย่างละ 3 ข่าว หวังว่าจะใช้กันได้ไม่ยากนะครับ ;)
ปล.ไปโหลด sources ได้ที่หน้าเว็บ Simplepie ได้เลยครับ
Ref.
Comments
Post a Comment