那么,您想在您的博客上显示您的 Twitter 状态吗?没问题,
使用 API。但是,如果你想在你的状态中显示链接怎么办
就像 twitter.com 本身一样?没问题,使用正则表达式。
这是一个函数,它将转换所有 HTTP URL、Twitter @usernames 和 #tags
进入链接:
PHP
function linkify_twitter_status($status_text) { // linkify URLs $status_text = preg_replace( '/(https?:\/\/\S+)/', '<a href="\1">\1</a>', $status_text ); // linkify twitter users $status_text = preg_replace( '/(^|\s)@(\w+)/', '\1@<a href="http://twitter.com/\2">\2</a>', $status_text ); // linkify tags $status_text = preg_replace( '/(^|\s)#(\w+)/', '\1#<a href="http://search.twitter.com/search?q=%23\2">\2</a>', $status_text ); return $status_text; }
使用它
有很多方法可以从 Twitter 获取状态。在这里,我将展示一个非常
没有缓存的简单方法——适合演示目的。
随意替换您最喜欢的 Twitter 获取方法。
$url = 'http://twitter.com/statuses/user_timeline/davidwalshblog.json?count=1'; $json = file_get_contents($url); $statuses = json_decode($json); $status_text = $statuses[0]->text; echo "before: ", $status_text, "\n"; echo "after: ", linkify_twitter_status($status_text), "\n";
上面的代码变成:
@davidwalshblog: Check it out http://is.gd/hd2D #awesome
..进入:
@<a href="http://twitter.com/davidwalshblog">davidwalshblog</a>: Check it out <a href="http://is.gd/hd2D">http://is.gd/hd2D</a> #<a href="http://search.twitter.com/search?q=%23awesome">awesome</a>
很简单,是吧?