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 相关文章推荐
VFP与其他应用程序的集成
Oct 09 PHP
php中serialize序列化与json性能测试的示例分析
Apr 27 PHP
PHP在线生成二维码(google api)的实现代码详解
Jun 04 PHP
php stream_get_meta_data返回值
Sep 29 PHP
PHP生成图片验证码、点击切换实例
Jun 25 PHP
PHP文件缓存内容保存格式实例分析
Aug 20 PHP
PHP把MSSQL数据导入到MYSQL的方法
Dec 27 PHP
php实现计数器方法小结
Jan 05 PHP
php实现在多维数组中查找特定value的方法
Jul 29 PHP
php使用curl实现简单模拟提交表单功能
May 15 PHP
PHP从零开始打造自己的MVC框架之类的自动加载实现方法详解
Jun 03 PHP
php5.3/5.4/5.5/5.6/7常见新增特性汇总整理
Feb 27 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
PHP制作3D扇形统计图以及对图片进行缩放操作实例
2014/10/23 PHP
Linux操作系统安装LAMP环境
2015/06/26 PHP
thinkPHP5.1框架使用SemanticUI实现分页功能示例
2019/08/03 PHP
js实现对table动态添加、删除和更新的方法
2015/02/10 Javascript
vue,angular,avalon这三种MVVM框架优缺点
2016/04/27 Javascript
angularJS+requireJS实现controller及directive的按需加载示例
2017/02/20 Javascript
vue中实现先请求数据再渲染dom分享
2018/03/17 Javascript
Vue引入jquery实现平滑滚动到指定位置
2018/05/09 jQuery
AngularJS实现的base64编码与解码功能示例
2018/05/17 Javascript
Vue中 key keep-alive的实现原理
2018/09/18 Javascript
vue中v-text / v-html使用实例代码详解
2019/04/02 Javascript
js事件触发操作实例分析
2019/06/21 Javascript
vue中全局路由守卫中替代this操作(this.$store/this.$vux)
2020/07/24 Javascript
vue实现点击按钮“查看详情”弹窗展示详情列表操作
2020/09/09 Javascript
Vue实现购物小球抛物线的方法实例
2020/11/22 Vue.js
Python后台开发Django的教程详解(启动)
2019/04/08 Python
树莓派3 搭建 django 服务器的实例
2019/08/29 Python
Python使用Tkinter实现滚动抽奖器效果
2020/01/06 Python
Anaconda+VSCode配置tensorflow开发环境的教程详解
2020/03/30 Python
一文解决django 2.2与mysql兼容性问题
2020/07/15 Python
CSS3教程(7):CSS3嵌入字体
2009/04/02 HTML / CSS
CSS3制作ajax loader icon实现思路及代码
2013/08/25 HTML / CSS
html5+css如何实现中间大两头小的轮播效果
2018/12/06 HTML / CSS
SmartBuyGlasses荷兰:购买太阳镜和眼镜
2020/03/16 全球购物
托管代码(Managed Code)和非托管代码(Unmanaged Code)有什么区别
2014/09/29 面试题
信用社实习人员自我鉴定
2013/09/20 职场文书
更夫岗位责任制
2014/02/11 职场文书
库房管理员岗位职责
2014/03/09 职场文书
校园元旦活动总结
2014/07/09 职场文书
销售顾问工作计划书
2014/09/15 职场文书
婚礼答谢词
2015/01/04 职场文书
消夏晚会主持词
2015/06/30 职场文书
庆祝教师节主持词
2015/07/06 职场文书
教师教育教学随笔
2015/08/15 职场文书
Python机器学习三大件之一numpy
2021/05/10 Python
MySQL系列之七 MySQL存储引擎
2021/07/02 MySQL