如何使用 PHP 在自己网站上显示最新的微博

最近发现 twitter 上朋友越来越冷清,大家也都开始无奈的使用 新浪微博 了,但新浪一直没有开发或开放 API 是大家比较郁闷的。这里提供一个我写的小 PHP 函数可以帮大家在自己的站点上显示输出最近更新的微博内容,使用 PHP 获取最新微博的函数为 any_get_weibo($sinaId, $listNs) 参数分别是你的新浪微博数字 ID 和需要显示的微博条数,由于新浪小组件的限制条数不能超过 15 条……

具体代码如下:

function any_get_weibo($sinaId, $listNs){
	$output  = '
    '; $gethtm = file_get_contents('http://v.t.sina.com.cn/widget/widget_blog.php?uid='. $sinaId .''); // 这里从一个新浪小组件里调用数据来源可以减少一定的数据流也可以避免跳到登陆页; $tempOp = explode('

    ', $gethtm); for($n = 1; $n <= $listNs; $n++){ $tempTs = explode('

    ', $tempOp[$n]); $output .= '
  • '.$tempTs[0].'
  • '; } $output .= '
more...'; return $output; }

简单说明:有了上面的函数就可以使用 any_get_weibo($sinaId, $listNs) 函数来直接获取你的最新微博内容了,其中 $sinaId 是你的新浪微博 ID 这里的 ID 不是个性化域名里面的 URL 而是诸如 1503269170 类似的数字 ID 否则将可能无法获取数据,获取这个数字 ID 可以在“关注”或者“粉丝”的页面地址 URL 里面很容易找到;后面的 $listNs 是打算获取多少条微博,由于新浪这个 widget 最多只输出 15 条微博,所以这个变量不能超过 15 条,否则将无法获取。

拓展一下:另外也可以举一反三,利用 twitter 的 feed 地址 http://search.twitter.com/search.atom?q=from:anyLiv&rpp=1 也可以取到用户名为 anyLiv 的最新 tweet 内容了。这里这个小函数只是一个简单的实现,原理是把新浪那个小组件输出的整个页面拔下来然后按照一些规律截取出自己需要的内容,自己使用的时候当然可以加一些修饰或者截取一下输出内容的长度及使用 &showpic=0 参数控制以哪种方式显示图片等等就看自己需求了,顺便抱怨一下新浪既然已经做了微博为什麽不开放 API 呢……

2 评论

  1. 函数写好之后是放到functions.php吗?怎么才能在Html上调用呢

    直接在你的主题模板里面调用 echo any_get_weibo(id, n) 就可以了 wordpress 主题会默认引入 functions 文件的内容,不过现在新浪微博已经提供了 API 接口我不确定这个函数是否还能正常工作。

已关闭评论。