自己打造一个好用的Feed Reader
?考IBM网站?出?的东西 ,看看效果
http://union.1615.cn/bookmark.php?list=Url&categoryid=12
利用iconv 作转?,论?大多是dz的 GBK编? 所以rss出?也是GBK必须?转?:
一个蛮好用的判断是?utf-8编?的函数
-
-
// Returns true if $string is valid UTF-8 and false otherwise.
-
function is_utf8($string) {
-
// From http://w3.org/International/questions/qa-forms-utf-8.html
-
[\x09\x0A\x0D\x20-\x7E] # ASCII
-
| [\xC2-\xDF][\x80-\xBF] # non-overlong 2-byte
-
| \xE0[\xA0-\xBF][\x80-\xBF] # excluding overlongs
-
| [\xE1-\xEC\xEE\xEF][\x80-\xBF]{2} # straight 3-byte
-
| \xED[\x80-\x9F][\x80-\xBF] # excluding surrogates
-
| \xF0[\x90-\xBF][\x80-\xBF]{2} # planes 1-3
-
| [\xF1-\xF3][\x80-\xBF]{3} # planes 4-15
-
| \xF4[\x80-\x8F][\x80-\xBF]{2} # plane 16
-
)*$%xs’, $string);
-
} // function is_utf8
-
用了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文件。
-
-
-
function getRSS($username,$password,$s,$n=0){
-
-
$url = "http://rpc.bloglines.com/getitems?s=".$s."&n=".$n;
-
-
$req = & new HTTP_Request($url);
-
$req->setBasicAuth($username,$password);
-
$req->sendRequest();
-
-
$blogContent = $req->getResponseBody();
-
return $blogContent;
-
-
}
2。解?XML RSS文件?循一定规范,你?以自己写个函数?解?,没什么难度,但有点???。
3。将解?得到的数?入库。
从Edong到了你的网站,看了?天,??现hatoyu也?迷于技术,而且水平颇高,呵呵。希望有机会多交?,我的MSN上有你。
我的主机是Edong的k300,电信访问比较慢,?知用上CDN能?效果好些?
评论 作者 hopesoft — 2007-10-03 @ 6:31 下午
有CDN肯定?以快一点的
我蛮喜欢?技术活,?是水平太差了,有机会大家一起交?啊
评论 作者 admin — 2007-10-04 @ 2:16 下午