简体   繁体   English

带推特后退按钮的PHP Twitter搜索API

[英]PHP Twitter search api with tweet back button

I'm using working on building a WordPress plugin, that uses the Twitter api - but I'm very new to working with Twitter. 我正在使用构建一个使用Twitter api的WordPress插件-但是我对使用Twitter感到很陌生。

I currently have a keyword search form and results working 我目前有一个关键字搜索表,并且结果有效

<?php

// get the keyword from url
$srchterm = $_GET['search_box'];

// encode it for the safe search
$srchterm = urlencode($srchterm);

// search the keyword using Twitter API
$srch_twitts = "http://search.twitter.com/search.atom?q=".$srchterm."";

// use curl to execute the Twitter URL
$twits = curl_init();
curl_setopt($twits, CURLOPT_URL, $srch_twitts);
curl_setopt($twits, CURLOPT_RETURNTRANSFER, TRUE);
$twi = curl_exec($twits);

// here we have the searched result in an array
$search_res = new SimpleXMLElement($twi);

//print_r($search_res);

?>
<?php

/* display the data */

$i = 0;

// displays the search keyword
echo "<p style='padding-left:10px; color:brown'>Your search term is: " . stripslashes($_GET['q']) . "</p>";

// tweets in an array. split it by foreach
// we need only 10 result so, use if condition
foreach ($search_res->entry as $result) if ($i++ < 10)
{

echo "<div id='tweets'>";
echo "<p>$i</p> ";
echo "<div class='avatar'><img src='". $result->link[1]->attributes()->href. "' /> </div>";
echo "<div class='twitcont'>";
echo "<div class='name'>". $result->author->name . "</div>";
echo "<div class='content'>" . $result->content ;

// convert the updated date of tweet to seconds
$twittedSeconds = time() - strtotime($result->updated);
$names = array('second', 'minute', 'hour', 'day', 'week', 'month', 'year');
$seconds = array( 1,        60,       3600,   86400, 604800, 2630880, 31570560);

// find the time difference between present time and tweet time

if($twittedSeconds > 0)
{
for($j = count($seconds) - 1; $j >= 0 ; $j--)
{
$interval = $seconds[$j];
if($twittedSeconds >= $interval)
{
$getTime =  round($twittedSeconds / $interval);
if ($getTime > 1)
{
$names[$j] .= s;
}
$time = $getTime. ' ' . $names[$j] . ' ago';
break;
}
}
//echo the time difference
echo "<div class='time'> " . $time . "</div>";
}
echo "</div>";
echo "</div></div>";

}

?>

My question: How can I integrate a tweet button for each result - this would allow the admin to (after searching twitter for keyword matches) tweet back on conversations. 我的问题:如何为每个结果集成一个推文按钮-这将允许管理员(在Twitter搜索关键字匹配之后)在对话上发推文。

Please see this example: http://screencast.com/t/2xBkTyUHT 请参见以下示例: http : //screencast.com/t/2xBkTyUHT

Find the tweet id then attach a hyper link of this format 找到推特ID,然后附加此格式的超级链接

https://twitter.com/intent/tweet?in_reply_to={tweet id}

So the link might look like this. 因此,链接可能看起来像这样。

$tweet_id = substr($entry->id, strrpos($entry->id, ':')+1);
echo "<a href=\"https://twitter.com/intent/tweet?in_reply_to={$tweet_id}\">Reply</a>";

More information can be found here. 更多信息可以在这里找到。 Twitter Web Intents Twitter Web意图

Note: You put echo "<div id='tweets'>"; 注意:您将echo "<div id='tweets'>"; in a loop. 在一个循环中。 Means DOM will have multiple elements with same id. 意味着DOM将具有多个具有相同ID的元素。 Correct it either using class or put it outside the loop. 使用class纠正它或将其放在循环之外。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM