Skip to content

Instantly share code, notes, and snippets.

@mosheeshel
Created July 22, 2013 07:23
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mosheeshel/6051907 to your computer and use it in GitHub Desktop.
Save mosheeshel/6051907 to your computer and use it in GitHub Desktop.
Youtube parsing functions, this are brute force methods to get youtube video ID from URL.
function get_youtube_id( $youtube_url ) {
$url = parse_url($youtube_url);
if( $url['host'] !== 'youtube.com' &&
$url['host'] !== 'www.youtube.com'&&
$url['host'] !== 'youtu.be'&&
$url['host'] !== 'www.youtu.be')
return '';
if( $url['host'] === 'youtube.com' || $url['host'] === 'www.youtube.com' ) :
parse_str(parse_url($youtube_url, PHP_URL_QUERY), $query_string);
return $query_string["v"];
endif;
$youtube_id = substr( $url['path'], 1 );
if( strpos( $youtube_id, '/' ) )
$youtube_id = substr( $youtube_id, 0, strpos( $youtube_id, '/' ) );
return $youtube_id;
}
function get_video_image($embed) {
//Each YouTube video has 4 generated images. They are predictably formatted as follows:
//http://img.youtube.com/vi/<insert-youtube-video-id-here>/0.jpg
//http://img.youtube.com/vi/<insert-youtube-video-id-here>/1.jpg
//http://img.youtube.com/vi/<insert-youtube-video-id-here>/2.jpg
//http://img.youtube.com/vi/<insert-youtube-video-id-here>/3.jpg
//The first one in the list is a full size image and others are thumbnail images. The default thumbnail image (ie. one of 1.jpg, 2.jpg, 3.jpg) is:
//http://img.youtube.com/vi/<insert-youtube-video-id-here>/default.jpg
//For the high quality version of the thumbnail use a url similar to this:
//http://img.youtube.com/vi/<insert-youtube-video-id-here>/hqdefault.jpg
//There is also a medium quality version of the thumbnail, using a url similar to the HQ:
//http://img.youtube.com/vi/<insert-youtube-video-id-here>/mqdefault.jpg
//For the maximum resolution version of the thumbnail use a url similar to this:
//http://img.youtube.com/vi/<insert-youtube-video-id-here>/maxresdefault.jpg
// This gets the default thumbnail image
$video_id = get_youtube_id($embed);
$video_thumb = "http://img.youtube.com/vi/" . $video_id . "/0.jpg";
return $video_thumb;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment