zl程序教程

您现在的位置是:首页 >  后端

当前栏目

PHP调用Twitter的RSS的实现代码

PHP代码 实现 调用 twitter RSS
2023-06-13 09:14:16 时间

这个栏目最开始调用微博饭否的API来做的,因为众所周知的缘故,饭否无法使用了,后来采用腾讯的滔滔API来实现.2010年1月26日滔滔业务将会开始和QQ空间心情整合,只能考虑放弃。思来想去,最终还是考虑用Twitter来实现,不过Twitter在国内无法访问,不能采用js的方式来调用。本博客的服务器才国外,用php的方式访问Twitter的API应该没有问题,虽然有现成的wordpress插件“TwitterTools”可以用,但本着尽量少用插件的目的,决定直接用php在wordpress主题里实现。twritter提供的API接口很丰富,研究一下觉得调用TwitterRSS的API比较简单,实现如下功能:

1、抓取twitterRSS的内容,不需要密码,只需要用户名。
2、格式化RSS的内容,显示用户本人的推的内容及时间,排除@replies回复给他人的信息内容。

代码如下:
复制代码代码如下:

<!--mytritter-->
<?php
$username="xjb";//changethistoyourtwitterusername修改为你的twitter用户名
$feedURL="http://twitter.com/statuses/user_timeline/".$username.".rss";
$excludePattern="/".$username.":@/";//excludesany@replies排除@replies内容
$count=5;//showcount
$i=0;

if(!$xml=simplexml_load_file($feedURL)){
trigger_error("Error",E_USER_ERROR);
}
foreach($xml->channel->itemas$item){
if(!preg_match("$excludePattern",$item->title)){
$filteredTitle=htmlspecialchars("$item->title");
$filteredTitle=str_replace("$username:","",$filteredTitle);
//ConvertthetimezoneinChina--转成中国时区
date_default_timezone_set("Asia/Shanghai");
$i++;

if($i>$count)
{
break;
}
?>
<li><?phpecho$filteredTitle;?>
(<?phpechodate("Y-m-dH:i:s",strtotime($item->pubDate));?>)</li>
<?php}}?>
<divalign="right">
<ahref="http://twitter.com/xjb"target="_blank">更多...</a></div>
<!--mytritter-->

源代码
复制代码代码如下:

<!--mytritter-->
<?php

$username="xjb";//changethistoyourtwitterusername--修改为你的twitter用户名
$feedURL="http://twitter.com/statuses/user_timeline/".$username.".rss";
$excludePattern="/".$username.":@/";//excludesany@replies--排除@replies内容
$count=5;//showcount
$i=0;

if(!$xml=simplexml_load_file($feedURL)){
trigger_error("Error",E_USER_ERROR);
}
foreach($xml->channel->itemas$item){
if(!preg_match("$excludePattern",$item->title)){
$filteredTitle=htmlspecialchars("$item->title");
$filteredTitle=str_replace("$username:","",$filteredTitle);
date_default_timezone_set("Asia/Shanghai");//ConvertthetimezoneinChina--转成中国时区
$i++;

if($i>$count)
{
break;
}
?>

<li><?phpecho$filteredTitle;?>(<?phpechodate("Y-m-dH:i:s",strtotime($item->pubDate));?>)</li>
<?php}}?>
<divalign="right"><ahref="http://twitter.com/xjb"target="_blank">更多...</a></div>
<!--mytritter-->