PHP封装的Twitter访问类实例


Posted in PHP onJuly 18, 2015

本文实例讲述了PHP封装的Twitter访问类。分享给大家供大家参考。具体如下:

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 ])@([^ \"\t\n\r<]*)#ise", "'\\1<a href=\"http://www.twitter.com/\\2\" >@\\2</a>'", $text);
  $text = preg_replace("#(^|[\n ])\#([^ \"\t\n\r<]*)#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>\n\n";
  $detail_o = "<div class=\"details\">\n";
  $detail_c = "</div>\n\n";
  $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代码优化及php相关问题总结
Oct 09 PHP
图象函数中的中文显示
Oct 09 PHP
PHP获取网站域名和地址的代码
Aug 17 PHP
基于PHP编程注意事项的小结
Apr 27 PHP
php.ini修改php上传文件大小限制的方法详解
Jun 17 PHP
PHP 面向对象程序设计(oop)学习笔记(三) - 单例模式和工厂模式
Jun 12 PHP
php强制更新图片缓存的方法
Feb 11 PHP
PHP查找数值数组中不重复最大和最小的10个数的方法
Apr 20 PHP
php中smarty实现多模版网站的方法
Jun 11 PHP
PHP框架Laravel中使用UUID实现数据分表操作示例
May 30 PHP
PHP 7.4 新语法之箭头函数实例详解
May 09 PHP
php实现session共享的实例方法
Sep 19 PHP
PHP+Javascript实现在线拍照功能实例
Jul 18 #PHP
thinkphp autoload 命名空间自定义 namespace
Jul 17 #PHP
简单谈谈PHP vs Node.js
Jul 17 #PHP
php+html5基于websocket实现聊天室的方法
Jul 17 #PHP
php获取错误信息的方法
Jul 17 #PHP
PHP实现C#山寨ArrayList的方法
Jul 16 #PHP
PHP计算加权平均数的方法
Jul 16 #PHP
You might like
星际争霸教主Flash的ID由来:你永远不会知道他之前的ID是www!
2019/01/18 星际争霸
把PHP安装为Apache DSO
2006/10/09 PHP
php的数组与字符串的转换函数整理汇总
2013/07/18 PHP
简介WordPress中用于获取首页和站点链接的PHP函数
2015/12/17 PHP
jQuery向下滚动即时加载内容实现的瀑布流效果
2016/01/07 PHP
PHP的压缩函数实现:gzencode、gzdeflate和gzcompress的区别
2016/01/27 PHP
php session 写入数据库
2016/02/13 PHP
PHP使用OB缓存实现静态化功能示例
2019/03/23 PHP
PHP常用函数之根据生日计算年龄功能示例
2019/10/21 PHP
javascript编程起步(第二课)
2007/01/10 Javascript
jquery ui dialog里调用datepicker的问题
2009/08/06 Javascript
Json和Jsonp理论实例代码详解
2013/11/15 Javascript
jquery实现简单实用的弹出层效果代码
2015/10/15 Javascript
详解JS对象封装的常用方式
2016/12/30 Javascript
Jquery根据浏览器窗口改变调整大小的方法
2017/02/07 Javascript
JavaScript canvas仿代码流瀑布
2020/02/10 Javascript
react的hooks的用法详解
2020/10/12 Javascript
Python 爬虫学习笔记之多线程爬虫
2016/09/21 Python
Python读取sqlite数据库文件的方法分析
2017/08/07 Python
对python 矩阵转置transpose的实例讲解
2018/04/17 Python
Django重置migrations文件的方法步骤
2019/05/01 Python
浅谈Python3 numpy.ptp()最大值与最小值的差
2019/08/24 Python
Python lambda表达式filter、map、reduce函数用法解析
2019/09/11 Python
pd.DataFrame统计各列数值多少的实例
2019/12/05 Python
python如何调用字典的key
2020/05/25 Python
python 实现表情识别
2020/11/21 Python
python调用百度AI接口实现人流量统计
2021/02/03 Python
美国一家主营日韩美妆护肤品的在线商店:iMomoko
2016/09/11 全球购物
CheapTickets香港机票预订网站:CheapTickets.hk
2019/06/26 全球购物
美国在线购买空气净化器、除湿器、加湿器网站:AllergyBuyersClub
2021/03/16 全球购物
国际贸易毕业生自荐书
2014/06/22 职场文书
效能风暴心得体会
2014/09/04 职场文书
小学安全工作总结2015
2015/05/18 职场文书
python四个坐标点对图片区域最小外接矩形进行裁剪
2021/06/04 Python
详细谈谈MYSQL中的COLLATE是什么
2021/06/11 MySQL
浅谈MySQL 亿级数据分页的优化
2021/06/15 MySQL