On twitter

@Lydia618 相差不遠了 (茶)

follow me on twitter

Simplepie in CodeIgniter 4

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 了!

December 8th, 2007 CodeIgniter Tags: , , , ,

4 Responses to “Simplepie in CodeIgniter”

  1. Rins says:

    太久沒來了

    我還是看不懂這種文章…

  2. tzangms says:

    @Rins
    你又不是程式設計師, 當然看不懂阿 XD

  3. elfkid says:

    可以借轉您的文章貼到ci繁體中文站的教學版嗎
    http://ci.wuboy.twbbs.org/forum/
    或是您可以把文章也發布到ci繁體中文站的教學版?

  4. tzangms says:

    @elfkid
    你就直接轉去吧! 麻煩註名一下出處即可 :p

Leave a Reply

Partners of Oceanic / 人生海海

jiwosca