加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP封装的Twitter访问类实例

发布时间:2020-12-13 02:46:02 所属栏目:PHP教程 来源:网络整理
导读:《:PHP封装的Twitter访问类实例》要点: 本文介绍了:PHP封装的Twitter访问类实例,希望对您有用。如果有疑问,可以联系我们。 本篇章节讲解PHP封装的Twitter拜访类.供大家参考研究.具体如下: PHP实例 class Twitter { /** * Method to make twitt

《:PHP封装的Twitter访问类实例》要点:
本文介绍了:PHP封装的Twitter访问类实例,希望对您有用。如果有疑问,可以联系我们。

本篇章节讲解PHP封装的Twitter拜访类.分享给大家供大家参考.具体如下:PHP实例

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+)?)?)?)@','<a href="$1">$1</a>',$text);
  $text = preg_replace("#(^|[n ])@([^ "tnr<]*)#ise","'1<a href="http://www.twitter.com/2" >@2</a>'",$text);
  $text = preg_replace("#(^|[n ])#([^ "tnr<]*)#ise","'1<a href="http://hashtags.org/search?query=2" >#2</a>'",$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  = "<div id="tweets">n";
  $tweet_o = "<div class="status">n";
  $tweet_c = "</div>nn";
  $detail_o = "<div class="details">n";
  $detail_c = "</div>nn";
  $cont_c  = "</div>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;
 }
}

希望本文所述对大家的php程序设计有所赞助.PHP实例

编程之家培训学院每天发布《:PHP封装的Twitter访问类实例》等实战技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培养人才。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读