0

我想使用 php 在我的网页中显示来自 twitter 的 twitter 推文。任何人有想法帮助我

提前致谢。

4

7 回答 7

6

您好,请查看 twitter API:http ://dev.twitter.com/pages/libraries#php

于 2010-09-29T13:41:08.457 回答
2

除了 Twitter 开发人员页面中列出的库之外,您还可以使用Zend_Service_TwitterTwitter API:

Zend_Service_Twitter为 » Twitter REST API 提供客户端。Zend_Service_Twitter允许您查询公共时间线。如果您为 Twitter 提供用户名和 OAuth 详细信息,它将允许您获取和更新您的状态、回复朋友、直接向朋友发送消息、将推文标记为收藏等等。

于 2010-09-29T13:45:58.417 回答
2

如果您想要一个真正简单的解决方案,您甚至可以获取 twitter 小部件:http: //twitter.com/goodies/widgets

于 2010-09-29T14:32:03.607 回答
1

好的,所以我遇到了这篇文章并为答案而苦苦挣扎……但这是我的解决方案……效果很好……我看到的唯一问题是基于检索 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;
}

所以这是我的解决方案,但是它非常具体到我想要的 - 但你们中的大多数人都可以有希望地解决这个问题并进行必要的调整。我不是一个特别出色的编码员,所以如果我犯了明显的错误或者可以改进这个脚本,我将不胜感激。

于 2011-09-27T07:17:13.080 回答
1

你可以向Dabr学习,这是一个用 PHP 编写的 PHP 前端。它几乎包含了 Twitter API 的所有功能。

于 2010-09-29T14:47:50.870 回答
1

这是我为基本功能找到的最好的一个。它基于 javascript,因此显然您不会遇到 API 每小时调用限制的问题。它为您提供了可以随意修改的标记。

http://twitter.com/widgets/html_widget

哦,不要担心所有批评你的问题的人。我没有在本网站的任何地方阅读指南,您的问题必须显着提高才能给每个人留下深刻印象。;-)

于 2010-11-20T16:11:47.210 回答
0

Twitter API 正在发生变化,显示要求不再是可选的。因此,除了现在要求使用 Oauth 之外,您还应该满足这些显示标准,因为它们不再是可选的。

有一些 PHP 库可以帮助访问 Twitter API 的 1.1 版,我选择使用CodeBird,而不是继续自己开发。我认为文档可能会更好一些。

于 2013-02-25T17:33:36.777 回答