PHP调用Twitter的RSS的实现代码


Posted in PHP onMarch 10, 2010

PHP调用Twitter的RSS的实现代码
这个栏目最开始调用微博饭否的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 回复给他人的信息内容。

代码如下:

<!-- my tritter --> 
<?php 
$username='xjb';//change this to your twitter username修改为你的twitter 用户名 
$feedURL='http://twitter.com/statuses/user_timeline/'.$username.'.rss'; 
$excludePattern='/'.$username.': @/'; //excludes any @replies排除@replies 内容 
$count=5;// show count 
$i=0; if(!$xml=simplexml_load_file($feedURL)){ 
trigger_error('Error',E_USER_ERROR); 
} 
foreach($xml->channel->item as $item) { 
if ( ! preg_match("$excludePattern", $item->title)) { 
$filteredTitle=htmlspecialchars("$item->title"); 
$filteredTitle=str_replace("$username: ","",$filteredTitle); 
//Convert the time zone in China --转成中国时区 
date_default_timezone_set('Asia/Shanghai'); 
$i++; 
if($i>$count) 
{ 
break; 
} 
?> 
<li><?php echo $filteredTitle; ?> 
(<?php echo date("Y-m-d H:i:s",strtotime($item->pubDate)); ?>)</li> 
<?php } } ?> 
<div align="right"> 
<a href="http://twitter.com/xjb" target="_blank">更多...</a></div> 
<!-- my tritter -->

源代码
<!-- my tritter --> 
<?php $username='xjb'; //change this to your twitter username --修改为你的twitter 用户名 
$feedURL='http://twitter.com/statuses/user_timeline/'.$username.'.rss'; 
$excludePattern='/'.$username.': @/'; //excludes any @replies --排除 @replies 内容 
$count=5;// show count 
$i=0; 
if(!$xml=simplexml_load_file($feedURL)){ 
trigger_error('Error',E_USER_ERROR); 
} 
foreach($xml->channel->item as $item) { 
if ( ! preg_match("$excludePattern", $item->title)) { 
$filteredTitle=htmlspecialchars("$item->title"); 
$filteredTitle=str_replace("$username: ","",$filteredTitle); 
date_default_timezone_set('Asia/Shanghai'); //Convert the time zone in China --转成中国时区 
$i++; 
if($i>$count) 
{ 
break; 
} 
?> 
<li><?php echo $filteredTitle; ?>(<?php echo date("Y-m-d H:i:s",strtotime($item->pubDate)); ?>)</li> 
<?php } } ?> 
<div align="right"><a href="http://twitter.com/xjb" target="_blank">更多...</a></div> 
<!-- my tritter -->
PHP 相关文章推荐
通过ODBC连接的SQL SERVER实例
Oct 09 PHP
如何做到多笔资料的同步
Oct 09 PHP
php访问查询mysql数据的三种方法
Oct 09 PHP
php 中include()与require()的对比
Oct 09 PHP
PHP CKEditor 上传图片实现代码
Nov 06 PHP
php Imagick获取图片RGB颜色值
Jul 28 PHP
PHP产生不重复随机数的5个方法总结
Nov 12 PHP
PHP 实现代码复用的一个方法 traits新特性
Feb 22 PHP
php+mysql实现无限级分类
Nov 11 PHP
初识PHP中的Swoole
Apr 05 PHP
thinkPHP数据查询常用方法总结【select,find,getField,query】
Mar 15 PHP
PHP执行linux命令6个函数代码实例
Nov 24 PHP
PHP中include()与require()的区别说明
Mar 10 #PHP
PHP扩展编写点滴 技巧收集
Mar 09 #PHP
php 修改zen-cart下单和付款流程以防止漏单
Mar 08 #PHP
PHP 最大运行时间 max_execution_time修改方法
Mar 08 #PHP
php ss7.5的数据调用 (笔记)
Mar 08 #PHP
phpmyadmin 常用选项设置详解版
Mar 07 #PHP
PHPMYADMIN 简明安装教程 推荐
Mar 07 #PHP
You might like
Zerg建筑一览
2020/03/14 星际争霸
PHP 面向对象详解
2012/09/13 PHP
强烈声明: 不要使用(include/require)_once
2013/06/06 PHP
php使用array_search函数实现数组查找的方法
2015/06/12 PHP
PHP环境搭建的详细步骤
2016/06/30 PHP
js 图片轮播(5张图片)
2008/12/30 Javascript
JQuery 学习笔记 选择器之三
2009/07/23 Javascript
jquery实现点击TreeView文本父节点展开/折叠子节点
2013/01/10 Javascript
使用jQuery同时控制四张图片的伸缩实现代码
2013/04/19 Javascript
在服务端(Page.Write)调用自定义的JS方法详解
2013/08/09 Javascript
各浏览器对document.getElementById等方法的实现差异解析
2013/12/05 Javascript
js实现开启密码大写提示
2016/12/21 Javascript
bootstrapValidator 重新启用提交按钮的方法
2017/02/20 Javascript
浅谈jquery拼接字符串效率比较高的方法
2017/02/22 Javascript
Bootstrap按钮组实例详解
2017/07/03 Javascript
jQuery制作input提示内容(兼容IE8以上)
2017/07/05 jQuery
老生常谈JavaScript面向对象基础与this指向问题
2017/10/16 Javascript
Vue DevTools调试工具的使用
2017/12/05 Javascript
js实现ATM机存取款功能
2020/10/27 Javascript
ElementUI Tree 树形控件的使用并给节点添加图标
2020/02/27 Javascript
jQuery实现飞机大战小游戏
2020/07/05 jQuery
vue-cli3自动消除console.log()的调试信息方式
2020/10/21 Javascript
[01:14:12]2018DOTA2亚洲邀请赛4.7 总决赛 LGD vs Mineski 第二场
2018/04/09 DOTA
一篇不错的Python入门教程
2007/02/08 Python
Python中 map()函数的用法详解
2018/07/10 Python
Django中的文件的上传的几种方式
2018/07/23 Python
python实现京东订单推送到测试环境,提供便利操作示例
2019/08/09 Python
学习Django知识点分享
2019/09/11 Python
opencv-python 提取sift特征并匹配的实例
2019/12/09 Python
Python学习之路之pycharm的第一个项目搭建过程
2020/06/18 Python
深入解析HTML5中的Blob对象的使用
2015/09/08 HTML / CSS
C#中的验证控件有几种
2014/03/08 面试题
优秀毕业生求职推荐信范文
2013/11/21 职场文书
《祁黄羊》教学反思
2014/04/22 职场文书
和谐社区口号
2014/06/19 职场文书
巾帼文明岗汇报材料
2014/12/24 职场文书