How can I retrieve YouTube video details from video URL using PHP?

前端 未结 9 752
南方客
南方客 2020-12-02 13:46

Using PHP, how can I get video information like title, description, thumbnail from a youtube video URL e.g.

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


        
9条回答
  •  孤城傲影
    2020-12-02 14:03

    function to get video id from video url

    function getYTid($ytURL) {
    
        $ytvIDlen = 11; // This is the length of YouTube's video IDs
    
        // The ID string starts after "v=", which is usually right after 
        // "youtube.com/watch?" in the URL
        $idStarts = strpos($ytURL, "?v=");
    
        // In case the "v=" is NOT right after the "?" (not likely, but I like to keep my 
        // bases covered), it will be after an "&":
        if($idStarts === FALSE)
            $idStarts = strpos($ytURL, "&v=");
        // If still FALSE, URL doesn't have a vid ID
        if($idStarts === FALSE)
            die("YouTube video ID not found. Please double-check your URL.");
    
        // Offset the start location to match the beginning of the ID string
        $idStarts +=3;
    
        // Get the ID string and return it
        $ytvID = substr($ytURL, $idStarts, $ytvIDlen);
    
        return $ytvID;
    
    }
    

    and then

    $video = getYTid($videourl);
    $video_feed = file_get_contents("http://gdata.youtube.com/feeds/api/videos/$video");
                $sxml = new SimpleXmlElement($video_feed);
    
                //set up nodes
                $namespaces = $sxml->getNameSpaces(true);
                $media = $sxml->children($namespaces['media']);
                $yt = $media->children($namespaces['yt']);
                $yt_attrs = $yt->duration->attributes();
    
                //vars
                 $video_title = $sxml->title;
    
                 $video_description = $sxml->content;
    
                 $video_keywords = $media->group->keywords;
    
                 $video_length = $yt_attrs['seconds'];
    

提交回复
热议问题