从zend框架中的youtube网址获取YouTube视频ID

时间:2014-05-22 08:25:07

标签: php zend-framework

这是我的youtube tube网址,来自facebook Id。我在Zend Framework中的Facebook中使用FQL查询获取此URL

这是我的网址=" http://www.youtube.com/attribution_link?a=AbE6fYtNaa4&u=%2Fwatch%3Fv%3DNbyHNASFi6U%26feature%3Dshare"

现在我需要获取其ID,以便我可以将其传递给此代码,以便我可以生成其vidoe详细信息。

function listYoutubeVideo($id) {
    $video = array();

    try {   
        $yt = new Zend_Gdata_YouTube();

        $videoEntry = $yt->getVideoEntry($id);



        $videoEntry = $yt->getQueryUrl($id);


            $videoThumbnails = $videoEntry->getVideoThumbnails();
            $video = array(
                'thumbnail' => $videoThumbnails[0]['url'],
                'title' => $videoEntry->getVideoTitle(),
                'description' => $videoEntry->getVideoDescription(),
                'tags' => implode(', ', $videoEntry->getVideoTags()),
                'url' => $videoEntry->getVideoWatchPageUrl(),
                'flash' => $videoEntry->getFlashPlayerUrl(),
                'dura' => $videoEntry->getVideoDuration(),
                'id' => $videoEntry->getVideoId()
            );

    } catch (Exception $e) {

        echo $e->getMessage();
        exit();

    }


    return $video;
}

所以我只需要在Zend Framework中从youtube网址中找到它的youtube ID。 Plz为我提供解决方案。 "Zend_Gdata_YouTube"类中是否存在任何方法,我可以从中获取其ID表格传递其YouTube网址

1 个答案:

答案 0 :(得分:1)

您拥有唯一的视频ID。在您的情况下(https://www.youtube.com/watch?v=NbyHNASFi6U&feature=share)ID等于 NbyHNASFi6U

$url = 'http://www.youtube.com/attribution_link?a=AbE6fYtNaa4&u=%2Fwatch%3Fv%3DNbyHNASFi6U%26feature%3Dshare';
$url = urldecode($url);
$query_string = end(explode('?',$url));
parse_str($query_string);
$videoID = $v;
print $videoID;
// OUTPUT
NbyHNASFi6U
  

视频观看页面网址始终采用以下格式:

     

http://www.youtube.com/watch?v=XXXXXXXXXXX

     

其中XXXXXXXXXXX是一个唯一的视频ID,由11个字母和数字组成(如果内存服务,则为连字符和下划线)。