“守望軒”博客右側邊欄原來有個“雜感”的欄目,用來記錄短的、不能大篇幅成文的短句,或者自己比較喜歡的短句和言論。
這個欄目最開始調用微博飯否的API來做的,因為眾所周知的緣故,飯否無法使用了,後來采用騰訊的滔滔API來實現.2010年1月26日滔滔業務將會開始和QQ空間心情整合,只能考慮放棄。思來想去,最終還是考慮用Twitter來實現,不過Twitter在國內無法訪問,不能采用js的方式來調用。本博客的服務器才國外,用php的方式訪問Twitter的API應該沒有問題,雖然有現成的wordpress插件“Twitter Tools”可以用,但本著盡量少用插件的目的,決定直接用php在wordpress主題裡實現。twritter提供的API接口很豐富,研究一下覺得調用Twitter RSS的API比較簡單,實現如下功能:
1、抓取twitter RSS的內容,不需要密碼,只需要用戶名。
2、格式化RSS的內容,顯示用戶本人的推的內容及時間,排除 @replies 回復給他人的信息內容。
代碼如下:
01: <!-- my tritter -->
02: <?php
03: $username='xjb';//change this to your twitter username修改為你的twitter 用戶名
04: $feedURL='http://twitter.com/statuses/user_timeline/'.$username.'.rss';
05: $excludePattern='/'.$username.': @/'; //excludes any @replies排除@replies 內容
06: $count=5;// show count
07: $i=0;
08:
09: if(!$xml=simplexml_load_file($feedURL)){
10: trigger_error('Error',E_USER_ERROR);
11: }
12: foreach($xml->channel->item as $item) {
13: if ( ! preg_match("$excludePattern", $item->title)) {
14: $filteredTitle=htmlspecialchars("$item->title");
15: $filteredTitle=str_replace("$username: ","",$filteredTitle);
16: //Convert the time zone in China --轉成中國時區
17: date_default_timezone_set('Asia/Shanghai');
18: $i++;
19:
20: if($i>$count)
21: {
22: break;
23: }
24: ?>
25: <li><?php echo $filteredTitle; ?>
26: (<?php echo date("Y-m-d H:i:s",strtotime($item->pubDate)); ?>)</li>
27: <?php } } ?>
28: <div align="right">
29: <a href="http://twitter.com/xjb" target="_blank">更多...</a></div>
30: <!-- my tritter -->
源代碼下載:twitter-rss.rar