Hato and Snow Blog

2007-08-13

自己打造一个好用的Feed Reader

归档在: phpmysql — hatoyu @ 11:22 上午

?考IBM网站?出?的东西 ,看看效果

http://union.1615.cn/bookmark.php?list=Url&categoryid=12

利用iconv 作转?,论?大多是dz的 GBK编? 所以rss出?也是GBK必须?转?:

一个蛮好用的判断是?utf-8编?的函数

  1.  
  2. // Returns true if $string is valid UTF-8 and false otherwise.
  3. function is_utf8($string) {
  4.         // From http://w3.org/International/questions/qa-forms-utf-8.html
  5.         return preg_match(‘%^(?:
  6.          [\x09\x0A\x0D\x20-\x7E]            # ASCII
  7.        | [\xC2-\xDF][\x80-\xBF]             # non-overlong 2-byte
  8.        |  \xE0[\xA0-\xBF][\x80-\xBF]        # excluding overlongs
  9.        | [\xE1-\xEC\xEE\xEF][\x80-\xBF]{2}  # straight 3-byte
  10.        |  \xED[\x80-\x9F][\x80-\xBF]        # excluding surrogates
  11.        |  \xF0[\x90-\xBF][\x80-\xBF]{2}     # planes 1-3
  12.        | [\xF1-\xF3][\x80-\xBF]{3}          # planes 4-15
  13.        |  \xF4[\x80-\x8F][\x80-\xBF]{2}     # plane 16
  14.    )*$%xs’, $string);
  15. } // function is_utf8
  16.  

用了PEAR,?过我没有安装PEAR,而是就copy了三个需?用到的文件

RSS.php Parser.php pear.php 也?以正常?行了,准备修改bookmark 加入这个功能,就足够强大的了.

相信对于很多人?说,通过Bloglines,Google Reader这些阅读器订阅和?览Blog已?是网络生活的一部份。如果你打算自己打造一个好用的Feed Reader,?妨试试Zend_Feed这个好用的类库。

首先大概的原?是读?Blog的RSS或Atom Feed,得到XML文件,解?该文件得到数?。为了加快?览速度,我们通常需?把得到数??存到本地数?库中。

以上目的分解?技术步骤有以下三步:
1。读?RSS。 你?以使用现?的函数或者专业的RSS类库(这?类库一般还??供更多丰富的功能),也?以自己模拟HTTP?抓?;

在PHP中,使用简?的比如file_get_contents()函 数就?以方便而且高效地抓?文件,但有时候?能RSS文件是?能直接获?的,比如获?你的Bloglines??中订阅的RSS,那么?能你还需???交一 些?数或者通过HTTP认?之类,这时?用模拟HTTP的方法,比如下?代?使用了PEAR::Http_Request:


填入你的Bloglines??和密?,利用这个函数你就?以得到RSS文件。

  1.  
  2.  
  3. function getRSS($username,$password,$s,$n=0){
  4.  
  5.         $url = "http://rpc.bloglines.com/getitems?s=".$s."&n=".$n;
  6.  
  7.         $req = & new HTTP_Request($url);
  8.         $req->setBasicAuth($username,$password);
  9.         $req->sendRequest();
  10.  
  11.         $blogContent = $req->getResponseBody();
  12.         return $blogContent;
  13.  
  14.     }

2。解?XML RSS文件?循一定规范,你?以自己写个函数?解?,没什么难度,但有点???。
3。将解?得到的数?入库。

2 条评论 »

  1. 从Edong到了你的网站,看了?天,??现hatoyu也?迷于技术,而且水平颇高,呵呵。希望有机会多交?,我的MSN上有你。

    我的主机是Edong的k300,电信访问比较慢,?知用上CDN能?效果好些?

    评论 作者 hopesoft — 2007-10-03 @ 6:31 下午

  2. 有CDN肯定?以快一点的

    我蛮喜欢?技术活,?是水平太差了,有机会大家一起交?啊

    评论 作者 admin — 2007-10-04 @ 2:16 下午

RSS 订阅这篇文章的评论 引用 (TrackBack) 网址

发表您的评论

WordPress 中文版提供动力