在网页中显示最新twitter消息

Posted By: agon,  Published:October 14th, 2009   

众所周知的原因,twitter的提供的插件无法在页面上显示。本文介绍可以通过php在网页中显示twitter最新更新的方法。
前提是php代码需要运行在国外的空间上,如果你的空间在外面,就很方便,直接可以用,而且免费空间很多,你可以申请一个。部分代码参考这里,很简单没什么技术含量,好了开始,直接贴代码,解释在代码里:

<?php
$feed = "http://search.twitter.com/search.atom?q=from:你的用户名&rpp=显示条数";//修改红色部分

//处理函数
function parse_feed($feed, $prefix, $tweetprefix, $tweetsuffix, $suffix)
{
  $feed = str_replace("&lt;", "<", $feed);//替换一些ASCII码
  $feed = str_replace("&gt;", ">", $feed);
  $feed = str_replace("&quot;", """, $feed);
  $clean = explode("<content type="html">", $feed);
  for ($i = 1; $i <= 显示条数; $i++) {
  $cleaner = explode("</content>", $clean[$i]);
  echo "<li><span>".$cleaner[0]."</span>";//显示消息,每条都加了li标签,你可以根据自己的需要更改 

$cleaner[1] = Substr($cleaner[1],19,11);

  echo str_replace("T", " ", $cleaner[1])."</li>"//显示时间
  }
}
$twitterFeed = file_get_contents($feed);//取得feed内容
parse_feed($twitterFeed, $prefix, $tweetprefix, $tweetsuffix, $suffix);//调用处理函数
?>

把代码放在你要插入的php页面上就可以了,有些空间不支持file_get_contents函数,下面提供另一种替代方法用curl,代码如下:

<?php
   //curl版
   //初始化curl
  $ch = curl_init() or die (curl_error());
   //设置twitter RSS地址
   curl_setopt($ch,CURLOPT_URL,"http://search.twitter.com/search.atom?q=from:你的用户名&rpp=显示条数");//更改红色部分
   //要求CURL返回数据
   curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
   //取得结果
   $twitterFeed = curl_exec($ch) or die (curl_error());
  //处理函数
  function parse_feed($feed, $prefix, $tweetprefix, $tweetsuffix, $suffix)
  {
    $feed = str_replace("&lt;", "<", $feed);
    $feed = str_replace("&gt;", ">", $feed);
    $feed = str_replace("&quot;", """, $feed);
    $clean = explode("<content type="html">", $feed);
  
    for ($i = 1; $i <= 显示条数; $i++)
    {
      $cleaner = explode("</content>", $clean[$i]);
      //$tweetprefix
      echo "<li><span>".$cleaner[0]."</span>";//显示消息,每条都加了li标签,你可以根据自己的需要更改
      $cleaner[1] = Substr($cleaner[1],19,11);
      echo str_replace("T", " ", $cleaner[1])."</li>";//显示时间
    }
  }
  parse_feed($twitterFeed, $prefix, $tweetprefix, $tweetsuffix, $suffix);
  //关闭CURL
  curl_close($ch);
?>

如果你的空间在国内的话只需要在需要的显示的地方插入如下代码:

<?php
echo file_get_contents("http://www.yoursite.com/show.php")//假加你国外空间存放代码的地址是yoursite.com/show.php
?>

不能用file_get_contents函数的参考上述curl版代码,echo出地址就可以了。

示例,见本站首页:http://olio.org.ru/

1条回复

添加你的回复

  1. 谢谢,学习了

你的回复