2011-04-13 56 views
1

我有一個php代碼,它提取我最新的推文並將其顯示在我的網站上。它工作的很好,但我想知道如果我能做到這一點,但可能會獲取我最後的5條推文而不是最新的推文。這是我的代碼twitter.php:PHP挑選推文代碼

function returnTweet() 
{ 

    $username = "username"; 
    $prefix = "<div><big><i><a href=\"http://twitter.com/$username\">@$username</a> "; 
    $suffix = "</i></big></div>"; 

    $feed = "http://search.twitter.com/search.atom?q=from:" . $username . "&rpp=5"; 
    $twitterFeed = file_get_contents($feed); 

    $tweet = parse_feed($twitterFeed); 
    return $prefix.$tweet.$suffix; 
} 


function parse_feed($feed) 
{ 
    $stepOne = explode("<content type=\"html\">", $feed); 
    $stepTwo = explode("</content>", $stepOne[1]); 
    $tweet = $stepTwo[0]; 
    $tweet = str_replace("&lt;", "<", $tweet); 
    $tweet = str_replace("&gt;", ">", $tweet); 
    return $tweet; 
} 

而且我在我的PHP頁面顯示它是這樣的:

include "twitter.php";    
echo "".returnTweet(); 

希望得到任何幫助在此! 來自Paparappa的問候

+0

我可以要求的'回聲「」感。 '? – Tokk 2011-04-13 10:10:31

+1

http://www.acornartwork.com/blog/2010/04/12/tutorial-twitter-rss-feed-parser-in-pure-php/ < - 這可能有用嗎? – gmadd 2011-04-13 10:12:07

回答

1

對於這個(例如:http://www.php.net/manual/en/simplexml.examples-basic.php),使用XML解析器會好得多。

(不知道Twitter的原子的結構,所以$ XML->鳴叫[$ i]可能是別的東西。)

$xml = new SimpleXMLElement($twitterFeed); 
$tweets = array(); 
for ($i = 0; $i < 5; $i++) { 
    $tweets[] = $xml->tweet[$i]; 
}