Skip to content

Instantly share code, notes, and snippets.

@shreesubhendu
Created February 7, 2023 13:36
Show Gist options
  • Save shreesubhendu/38f8c2c8b6b6cf26b4b8b5f715cd1c3f to your computer and use it in GitHub Desktop.
Save shreesubhendu/38f8c2c8b6b6cf26b4b8b5f715cd1c3f to your computer and use it in GitHub Desktop.
Get Youtube Id from URL
/**
* Get Youtube id from the URL
* Some examples are
* https://youtube.com/shorts/dQw4w9WgXcQ?feature=share
* //www.youtube-nocookie.com/embed/up_lNV-yoK4?rel=0,
* http://www.youtube.com/user/Scobleizer#p/u/1/1p3vcRhsYGo
* http://www.youtube.com/watch?v=cKZDdG9FTKY&feature=channel
* http://www.youtube.com/watch?v=yZ-K7nCVnBI&playnext_from=TL&videos=osPknwzXEas&feature=sub
* http://www.youtube.com/ytscreeningroom?v=NRHVzbJVx8I
* http://www.youtube.com/user/SilkRoadTheatre#p/a/u/2/6dwqZw0j_jY
* http://youtu.be/6dwqZw0j_jY
* http://www.youtube.com/watch?v=6dwqZw0j_jY&feature=youtu.be
* http://youtu.be/afa-5HQHiAs
* http://www.youtube.com/user/Scobleizer#p/u/1/1p3vcRhsYGo?rel=0
* http://www.youtube.com/watch?v=cKZDdG9FTKY&feature=channel
* http://www.youtube.com/watch?v=yZ-K7nCVnBI&playnext_from=TL&videos=osPknwzXEas&feature=sub
* http://www.youtube.com/ytscreeningroom?v=NRHVzbJVx8I
* http://www.youtube.com/embed/nas1rJpm7wY?rel=0
* http://www.youtube.com/watch?v=peFZbP64dsU
* http://youtube.com/v/dQw4w9WgXcQ?feature=youtube_gdata_player
* http://youtube.com/vi/dQw4w9WgXcQ?feature=youtube_gdata_player
* http://youtube.com/?v=dQw4w9WgXcQ&feature=youtube_gdata_player
* http://www.youtube.com/watch?v=dQw4w9WgXcQ&feature=youtube_gdata_player
* http://youtube.com/?vi=dQw4w9WgXcQ&feature=youtube_gdata_player
* http://youtube.com/watch?v=dQw4w9WgXcQ&feature=youtube_gdata_player
* http://youtube.com/watch?vi=dQw4w9WgXcQ&feature=youtube_gdata_player
* http://youtu.be/dQw4w9WgXcQ?feature=youtube_gdata_player.
*
* @param string $url youtube video url
*
* @return string
*/
function getYoutubeId($url)
{
$str = '';
$re = '/^.*(?:(?:youtu\.be\/|v\/|vi\/|u\/\w\/|embed\/|shorts\/)|(?:(?:watch)?\?v(?:i)?=|\&v(?:i)?=))([^#\&\?]*).*/m'; //phpcs:ignore
preg_match_all($re, $url, $str, PREG_SET_ORDER, 0);
return $str;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment