我想使用 php 在我的网页中显示来自 twitter 的 twitter 推文。任何人有想法帮助我
提前致谢。
您好,请查看 twitter API:http ://dev.twitter.com/pages/libraries#php
除了 Twitter 开发人员页面中列出的库之外,您还可以使用Zend_Service_Twitter
Twitter API:
Zend_Service_Twitter
为 » Twitter REST API 提供客户端。Zend_Service_Twitter
允许您查询公共时间线。如果您为 Twitter 提供用户名和 OAuth 详细信息,它将允许您获取和更新您的状态、回复朋友、直接向朋友发送消息、将推文标记为收藏等等。
如果您想要一个真正简单的解决方案,您甚至可以获取 twitter 小部件:http: //twitter.com/goodies/widgets
好的,所以我遇到了这篇文章并为答案而苦苦挣扎……但这是我的解决方案……效果很好……我看到的唯一问题是基于检索 RSS 提要,这是 Twitter 非常渴望获得的摆脱 - 但对于一个简单的解决方案,它很有魅力。
function twitter_status(){
$twitter_name = "YOUR_TWITTER_USERNAME";
$myFile = "http://api.twitter.com/1/statuses/user_timeline.rssscreen_name=".$twitter_name;
$dom = new DOMDocument();
$dom -> load($myFile);
$items = $dom->getElementsByTagName('item');
$max_items = 1; // Number of tweets to return.
$count = 0;
foreach ($items as $item) {
// Select all the elements in the XML document named "Description"
// The different elements available are Title, Description, pubDate, guid, link and twitter:source
// You can find this out by opening the link to your twitter rss feed
$tweets = $item->getElementsByTagName('description');
$tweet_string = $tweets->item(0)->nodeValue;
$tweet_string = substr($tweet_string,strpos($tweet_string,":")+2);
$tweet_date = $item->getElementsByTagName('pubDate');
$tweet_date = $tweet_date->item(0)->nodeValue;
$tweet_date = substr($tweet_date,0,16); // Get rid of the excess times at the end of the date
echo ("<li class='timestamp tweet_".$count."'>Posted ".$tweet_date."</li><li class='tweet tweet_".$count."'>".makelink($tweet_string)."</li>");
$count = $count+1;
if ($count>=$max_items){ break; }
}
}
function makeLink($string){
// Function to convert url to a link
/*** make sure there is an http:// on all URLs ***/
$string = preg_replace("/([^\w\/])(www\.[a-z0-9\-]+\.[a-z0-9\-]+)/i", "$1http://$2",$string);
/*** make all URLs links ***/
$string = preg_replace("/([\w]+:\/\/[\w-?&;#~=\.\/\@]+[\w\/])/i","<a target=\"_blank\" href=\"$1\">$1</A>",$string);
/*** make all emails hot links ***/
$string = preg_replace("/([\w-?&;#~=\.\/]+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?))/i","<A HREF=\"mailto:$1\">$1</A>",$string);
return $string;
}
所以这是我的解决方案,但是它非常具体到我想要的 - 但你们中的大多数人都可以有希望地解决这个问题并进行必要的调整。我不是一个特别出色的编码员,所以如果我犯了明显的错误或者可以改进这个脚本,我将不胜感激。
你可以向Dabr学习,这是一个用 PHP 编写的 PHP 前端。它几乎包含了 Twitter API 的所有功能。
这是我为基本功能找到的最好的一个。它基于 javascript,因此显然您不会遇到 API 每小时调用限制的问题。它为您提供了可以随意修改的标记。
http://twitter.com/widgets/html_widget
哦,不要担心所有批评你的问题的人。我没有在本网站的任何地方阅读指南,您的问题必须显着提高才能给每个人留下深刻印象。;-)