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 相关文章推荐
第1次亲密接触PHP5(2)
Oct 09 PHP
用PHP开发GUI
Oct 09 PHP
利用 window_onload 实现select默认选择
Oct 09 PHP
基于php下载文件的详解
Jun 02 PHP
yii上传文件或图片实例
Apr 01 PHP
实例简介PHP的一些高级面向对象编程的特性
Nov 27 PHP
学习php设计模式 php实现观察者模式(Observer)
Dec 09 PHP
php mysql like 实现多关键词搜索的方法
Oct 29 PHP
YII框架中搜索分页jQuery写法详解
Dec 19 PHP
PHP实现向关联数组指定的Key之前插入元素的方法
Jun 06 PHP
Laravel 5.2 文档 数据库 ―― 起步介绍
Oct 21 PHP
Laravel 微信小程序后端搭建步骤详解
Nov 26 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程序的国际化实现方法(利用gettext)
2011/08/14 PHP
PHP高级对象构建 多个构造函数的使用
2012/02/05 PHP
PHP中strpos、strstr和stripos、stristr函数分析
2016/06/11 PHP
Mootools 1.2教程(2) DOM选择器
2009/09/14 Javascript
toString()一个会自动调用的方法
2010/02/08 Javascript
javascript简单实现表格行间隔显示颜色并高亮显示
2013/11/29 Javascript
jquery中EasyUI实现异步树
2015/03/01 Javascript
整理Javascript基础语法学习笔记
2015/11/29 Javascript
浅析Bootstrap组件之面板组件
2016/05/04 Javascript
require简单实现单页应用程序(SPA)
2016/07/12 Javascript
基于JS实现回到页面顶部的五种写法(从实现到增强)
2016/09/03 Javascript
js实现炫酷的左右轮播图
2017/01/18 Javascript
js获取当前页的URL与window.location.href简单方法
2017/02/13 Javascript
基于node.js之调试器详解
2017/08/22 Javascript
vue.js $refs和$emit 父子组件交互的方法
2017/12/20 Javascript
Angular简单验证功能示例
2017/12/22 Javascript
在ES5与ES6环境下处理函数默认参数的实现方法
2018/05/13 Javascript
JS实现获取进今年第几天是周几的方法分析
2018/06/27 Javascript
微信小程序websocket实现聊天功能
2020/03/30 Javascript
浅谈webpack SplitChunksPlugin实用指南
2018/09/17 Javascript
解决vue跨域axios异步通信问题
2019/04/17 Javascript
Python ZipFile模块详解
2013/11/01 Python
python通过smpt发送邮件的方法
2015/04/30 Python
Python面向对象类继承和组合实例分析
2018/05/28 Python
python版飞机大战代码分享
2018/11/20 Python
Python使用到第三方库PyMuPDF图片与pdf相互转换
2019/05/03 Python
PYQT5设置textEdit自动滚屏的方法
2019/06/14 Python
阿里巴巴国际站:Alibaba.com
2016/07/21 全球购物
世界领先的以旅馆为主的在线预订平台:Hostelworld
2016/10/09 全球购物
EJB的基本架构
2016/09/22 面试题
矫正人员思想汇报
2014/01/08 职场文书
安全负责人任命书
2014/06/06 职场文书
三八妇女节主持词
2015/07/04 职场文书
公司中层管理培训心得体会
2016/01/11 职场文书
测量JavaScript函数的性能各种方式对比
2021/04/27 Javascript
Nginx实现会话保持的两种方式
2022/03/18 Servers