simplepie, 一個頗好用的 php rss parser library, 因為習慣用 CodeIgniter, 就用 CodeIgniter 的方式來寫一下。
第一個步驟就是到 simplepie 的網站下載套件回來、解開, 然後放到 /system/application/library 裡, 把 simplepie.inc 重新命名成 simplepie.php, 接著就可以像下面這樣子用 (當然, 這是寫在 controller 裡)
$this->load->library('simplepie');
$this->simplepie->set_feed_url('http://tzangms.com/feed');
$this->simplepie->enable_cache(false);
$this->simplepie->init();
echo $this->simplepie->get_title();
或是嫌 CI 讀 library 的方式太囉唆, 可以這樣寫
$this->load->library('simplepie');
$feed = new SimplePie();
$feed->set_feed_url('http://tzangms.com/feed');
$feed->enable_cache(false);
$feed->init();
echo $feed->get_title();
以上的例子都是用來抓 rss feed 的 title, 當然 simplepie 在 set_feed_url 函式裡面都是直接給 rss feed 的 link, 而用 simplepie 更方便的是, 你甚至可以直接丟 blog 網址給他, 他會直接幫你抓 rss feed 的 link, 非常方便。 (只是這樣會先去抓網頁然後在去 parse 正確的 rss feed link 出來, 所以需要一段不算短的時間)
PS. 上面中會看到 enable_cache 是設定為 false, 是因為 simplepie 預設是會開啟 cache, 所以需要建資料夾來放 cache 檔案, 這裡只是示範就關掉了。
接下來, 來個抓 RSS feed 的範例吧! 這裡是 Controller 的部分:
$this->load->library('simplepie');
$this->simplepie->set_feed_url('http://tzangms.com/feed');
$this->simplepie->enable_cache(false);
$this->simplepie->init();
$feeds = $this->simplepie->get_items();
$data['feeds'] = $feeds;
$this->load->view('simplepie', $data);
非常淺顯易懂吧!? 不錯! 那我也就不多做解釋了 XD
simplepie 這個名字好像是因為 magpie rss 來的? anyway, 總之我是不會想在 CI 裡面用 magpierss XD 因為 simplepie 簡潔多了。 基本上, 看完上面的東西在參考一下 reference 就 ok 了!



太久沒來了
…
我還是看不懂這種文章…
@Rins
你又不是程式設計師, 當然看不懂阿 XD
可以借轉您的文章貼到ci繁體中文站的教學版嗎
http://ci.wuboy.twbbs.org/forum/
或是您可以把文章也發布到ci繁體中文站的教學版?
@elfkid
你就直接轉去吧! 麻煩註名一下出處即可 :p