<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                **php 獲取Youtube某個User所有Video信息** 因工作需要,獲取Youtube上某個用戶的所有視頻信息,寫了這個類,分享給大家。 **YTUserVideo.class.php** ~~~ <?php /**獲取Youtube某個User所有Video信息 *Date: 2015-01-08 *Author: fdipzone *Ver: 1.0 * *Func: *public getVideosInfo 獲取用戶所有視頻信息 *private getVideoNum 獲取用戶視頻數量 *private getVideoInfo 獲取視頻信息 *private getContent 視頻簡介整理 *private unescape unicode轉中文 */ class YTUserVideo{ // class start private $_user = ''; // 用戶名稱 /**初始化 * @param String $user 用戶名稱 */ public function __construct($user=''){ if($user!=''){ $this->_user = $user; }else{ throw new Exception("user is empty", 1); } } /**獲取user所有視頻信息 * @return Array */ public function getVideosInfo(){ $info = array(); // 獲取視頻數量 $videonum = $this->getVideoNum(); // 獲取視頻信息 for($i=1; $i<=$videonum; $i++){ $videoInfo = $this->getVideoInfo($i); array_push($info, $videoInfo); } return $info; } /**獲取用戶視頻數量 * @return int */ private function getVideoNum(){ $videos = simplexml_load_file('http://gdata.youtube.com/feeds/base/users/'.$this->_user.'/uploads?max-results=1&start-index=1'); $videonum = $videos->children('openSearch', true)->totalResults; return $videonum; } /**獲取視頻信息 * @param String $index 視頻的序號 * @return Array */ private function getVideoInfo($index){ // 獲取視頻id及簡介 $video = simplexml_load_file('http://gdata.youtube.com/feeds/base/users/'.$this->_user.'/uploads?max-results=1&start-index='.$index); $videoId = str_replace('http://gdata.youtube.com/feeds/base/videos/', '', (string)($video->entry->id)); $videoContent = $this->getContent($video->entry->content); $videoPublish = strtotime($video->entry->published); // 根據視頻id獲取視頻信息 $content = file_get_contents('http://youtube.com/get_video_info?video_id='.$videoId); parse_str($content, $ytarr); $info = array(); $info['id'] = $videoId; $info['thumb_photo'] = $ytarr['thumbnail_url']; // 縮略圖 $info['middle_photo'] = $ytarr['iurlmq']; // 中圖 $info['big_photo'] = $ytarr['iurl']; // 大圖 $info['title'] = $ytarr['title']; // 標題 $info['content'] = $videoContent; // 簡介 $info['publish_date'] = $videoPublish; // 發布時間 $info['length_seconds'] = $ytarr['length_seconds']; // 視頻長度(s) $info['view_count'] = $ytarr['view_count']; // 觀看次數 $info['avg_rating'] = $ytarr['avg_rating']; // 平均評分 $info['embed'] = '//www.youtube.com/embed/'.$videoId; // Embed return $info; } /**獲取視頻簡介 * @param String $content 內容 * @return String */ private function getContent($content){ preg_match('/<span>(.*?)<\/span>/is', $content, $matches); return $this->unescape($matches[1]); } /* unicode 轉 中文 * @param String $str unicode 字符串 * @return String */ private function unescape($str) { $str = rawurldecode($str); preg_match_all("/(?:%u.{4})|&#x.{4};|&#\d+;|.+/U",$str,$r); $ar = $r[0]; foreach($ar as $k=>$v) { if(substr($v,0,2) == "%u"){ $ar[$k] = iconv("UCS-2BE","UTF-8",pack("H4",substr($v,-4))); }elseif(substr($v,0,3) == "&#x"){ $ar[$k] = iconv("UCS-2BE","UTF-8",pack("H4",substr($v,3,-1))); }elseif(substr($v,0,2) == "&#") { $ar[$k] = iconv("UCS-2BE","UTF-8",pack("n",substr($v,2,-1))); } } return join("",$ar); } } // class end ?> ~~~ **demo.php** ~~~ <?php require 'YTUserVideo.class.php'; $obj = new YTUserVideo('GOtriphk'); // 用戶名稱GOtriphk https://www.youtube.com/user/GOtriphk/videos $videosInfo = $obj->getVideosInfo(); echo '<pre>'; print_r($videosInfo); echo '</pre>'; ?> ~~~ **輸出:** ~~~ Array ( [0] => Array ( [id] => jYDwFozp6PY [thumb_photo] => http://i.ytimg.com/vi/jYDwFozp6PY/default.jpg [middle_photo] => http://i.ytimg.com/vi/jYDwFozp6PY/mqdefault.jpg [big_photo] => http://i.ytimg.com/vi/jYDwFozp6PY/hqdefault.jpg [title] => 【比卡超ssss突襲尖咀!!!】香港比卡超展 [content] => 香港有比卡超展,同場會展出全球最大、高13米嘅「比卡超立體飛船」,仲會有700隻唔同角色嘅精靈現身,當然亦唔小得又勁多期間限定紀念品可以優先搶以及由橫濱專程到港嘅聖誕版比卡超同粉絲全接觸,總之飛唔飛都一樣有得玩!The ONE x 寵物小精靈 聖誕夢想飛行日期:2014年11月9日至2015年1月4日時間:10am-10pm地點:The ONE UG2 中庭 [publish_date] => 1415257662 [length_seconds] => 124 [view_count] => 603 [avg_rating] => 0.0 [embed] => //www.youtube.com/embed/jYDwFozp6PY ) ..... ~~~ **源碼下載地址:[點擊查看](https://github.com/xfdipzone/25.YTUserVideo)**
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看