This article mainly introduces the PHP-encapsulated Twitter community class, and provides common access functions for Twitter through curl calls, which has some reference value, for more information about the Twitter community class encapsulated in PHP, see the following example. Share it with you for your reference. The details are as follows:
class Twitter { /** * Method to make twitter api call for the users timeline in XML * * @access private * @param $twitter_id, $num_of_tweets * @return $xml */ private function api_call($twitter_id, $num_of_tweets) { $c = curl_init(); curl_setopt($c, CURLOPT_URL, "http://twitter.com/statuses/user_timeline/$twitter_id.xml?count=$num_of_tweets"); curl_setopt($c, CURLOPT_RETURNTRANSFER, 1); curl_setopt($c, CURLOPT_CONNECTTIMEOUT, 3); curl_setopt($c, CURLOPT_TIMEOUT, 5); $response = curl_exec($c); $response_info = curl_getinfo($c); curl_close($c); if (intval($response_info['http_code']) == 200) { $xml = new SimpleXMLElement($response); return $xml; } else { return false; } } /** * Method to add hyperlink html tags to any urls, twitter ids or hashtags in tweet * * @access private * @param $text * @return $text */ private function process_links($text) { $text = utf8_decode($text); $text = preg_replace('@(https?://([-\w\.]+)+(d+)?(/([\w/_\.]*(\?\S+)?)?)?)@', '$1', $text); $text = preg_replace("#(^|[\n ])@([^ \"\t\n\r<]*)#ise", "'\\1@\\2'", $text); $text = preg_replace("#(^|[\n ])\#([^ \"\t\n\r<]*)#ise", "'\\1#\\2'", $text); return $text; } /** * Main method to retrieve the tweets and return html for display * * @access public * @param $twitter_id, $num_of_tweets, $timezone * @return $result */ public function get_tweets($twitter_id, $num_of_tweets = 3, $timezone = "America/Denver") { $include_replies = false; date_default_timezone_set($timezone); // the html markup $cont_o = "\n"; $tweet_o = "
\n"; $tweet_c = "
\n\n"; $detail_o = "\n"; $detail_c = "
\n\n"; $cont_c = "\n"; if ($twitter_xml = $this->api_call($twitter_id, $num_of_tweets)) { $result = $cont_o; foreach ($twitter_xml->status as $key => $status) { if ($include_replies == true | substr_count($status->text, "@") == 0 | strpos($status->text, "@") != 0) { $tweet = $this->process_links($status->text); $result .= $tweet_o . $tweet . $tweet_c . $detail_o . date('D jS M y H:i', strtotime($status->created_at)) . $detail_c; } } $result .= $cont_c; } else { $result .= $cont_o . $tweet_o . "Twitter seems to be unavailable at the moment." . $tweet_c . $cont_c; } return $result; }}
I hope this article will help you with php programming.