使用PHP获取最后一条推文

使用PHP获取最后一条推文,php,twitter,Php,Twitter,要使用PHP获取我的最后一条推文,我使用以下代码: function getTweets($tweetsToDisplay, $user_id) { $twitterrequest = 'http://api.twitter.com/1/statuses/user_timeline.json?user_id=' . $user_id . '&include_rts=true&count=' . $tweetsToDisplay; $twitterci = curl_init

要使用PHP获取我的最后一条推文,我使用以下代码:

function getTweets($tweetsToDisplay, $user_id) { 

$twitterrequest = 'http://api.twitter.com/1/statuses/user_timeline.json?user_id=' . $user_id . '&include_rts=true&count=' . $tweetsToDisplay; 
$twitterci = curl_init($twitterrequest); 
curl_setopt($twitterci, CURLOPT_RETURNTRANSFER, TRUE); 
$twitterinput = curl_exec($twitterci); 
curl_close($twitterci); 
return ($twitterinput); 

} 

$user_id = '99999999';
$var = json_decode(getTweets(1, $user_id));
$txt = $var[0]->text;
$txt = preg_replace('%(https?://)[^\s]*%', '$1...', $txt);
echo $txt;

很好,但我也想知道日期。如何提取它?

将其添加到代码底部

<?php
$date = $var[0]->created_at;
$time = $var[0]->created_at;
echo $time;

根据来自的Twitter API结果,您似乎可以使用在
param处创建的
created_

你有:

$txt = $var[0]->text;
如果有效,那么添加

$created = $vars[0]->created_at;

echo $txt;
echo "<span>".$created."</span>" ;
$created=$vars[0]->created\u at;
echo$txt;
回显“$created.”;

我希望下面的代码对您有所帮助

function getTimeline($count, $username) {
   $url = 'http://api.twitter.com/1/statuses/user_timeline.json?screen_name='.$username.'&count=.'$count;
   $tweets = json_decode(file_get_contents($url),TRUE);

   return $tweets;
}

您可以尝试我创建的这个简单PHP函数,以轻松捕获最新的推文(不需要API身份验证)。必须优化:)

更新(2014年10月15日):

function getTweets($user, $count) {
    $datas = file_get_contents('https://mobile.twitter.com/'.$user);

    preg_match_all('/<div class="tweet-text" data-id="\d*">(.*?)<\/div>/s', $datas, $matchetweets, PREG_SET_ORDER);

    for ($i = 1; $i <= $count; $i++) {
        $matchetweets[$i][0] = preg_replace('/<div class="dir-ltr" dir="ltr">/', '', $matchetweets[$i][0]);
        $matchetweets[$i][0] = preg_replace('/\s+/', ' ', $matchetweets[$i][0]);
        $matchetweets[$i][0] = str_replace('"> ', '">', $matchetweets[$i][0]);

        echo '<li>'.$matchetweets[$i][0].'</li>'."\n";
    }
};
此版本已过时,不再工作。下面是一个更新的PHP代码,可以轻松解析推文

function getTweets($user, $count) {
    $datas = file_get_contents('https://mobile.twitter.com/'.$user);

    preg_match_all('/<div class="tweet-text" data-id="\d*">(.*?)<\/div>/', $datas, $matchetweets);
    $matchetweets[1] = preg_replace('/<div class="dir-ltr" dir="ltr">/', '', $matchetweets[1]);

    for ($i = 1; $i <= $count; $i++) {
        echo '<li>'.$matchetweets[1][$i].'</li>'."\n";
    }
};
函数getTweets($user,$count){ $datas=文件\u获取\u内容('https://mobile.twitter.com/"(用户),; preg_match_all(“/(.*?/”,$datas,$matchetweets); $matchetweets[1]=preg_replace(“/”,“$matchetweets[1]);
对于($i=1;$i这段代码中有一个bug,twitter也不再支持V1,因为APIBug不存在,因为
回答了2011年6月20日20:23
PS,但这段代码真的不起作用。出于某种原因,这段代码没有得到最新的tweet。你对此有修复方法吗?不管怎样,我发现了它..必须将For循环中的起始值从1更改为0
function getTweets($user, $count) {
    $datas = file_get_contents('https://mobile.twitter.com/'.$user);

    preg_match_all('/<div class="tweet-text" data-id="\d*">(.*?)<\/div>/', $datas, $matchetweets);
    $matchetweets[1] = preg_replace('/<div class="dir-ltr" dir="ltr">/', '', $matchetweets[1]);

    for ($i = 1; $i <= $count; $i++) {
        echo '<li>'.$matchetweets[1][$i].'</li>'."\n";
    }
};
function getTweets($user, $count) {
    $datas = file_get_contents('https://mobile.twitter.com/'.$user);

    preg_match_all('/<div class="tweet-text" data-id="\d*">(.*?)<\/div>/s', $datas, $matchetweets, PREG_SET_ORDER);

    for ($i = 1; $i <= $count; $i++) {
        $matchetweets[$i][0] = preg_replace('/<div class="dir-ltr" dir="ltr">/', '', $matchetweets[$i][0]);
        $matchetweets[$i][0] = preg_replace('/\s+/', ' ', $matchetweets[$i][0]);
        $matchetweets[$i][0] = str_replace('"> ', '">', $matchetweets[$i][0]);

        echo '<li>'.$matchetweets[$i][0].'</li>'."\n";
    }
};