"parse youtube video id using preg_match [duplicate]" Answer’s

0

This regex grabs the ID from all of the various URLs I could find... There may be more out there, but I couldn't find reference of them anywhere. If you come across one this doesn't match, please leave a comment with the URL, and I'll try and update the regex to match your URL.

if (preg_match('%(?:youtube(?:-nocookie)?.com/(?:[^/]+/.+/|(?:v|e(?:mbed)?)/|.*[?&]v=)|youtu.be/)([^"&?/s]{11})%i', $url, $match)) {
    $video_id = $match[1];
}

Here is a sample of the URLs this regex matches: (there can be more content after the given URL that will be ignored)

  • http://youtu.be/dQw4w9WgXcQ ...
  • http://www.youtube.com/embed/dQw4w9WgXcQ ...
  • http://www.youtube.com/watch?v=dQw4w9WgXcQ ...
  • http://www.youtube.com/?v=dQw4w9WgXcQ ...
  • http://www.youtube.com/v/dQw4w9WgXcQ ...
  • http://www.youtube.com/e/dQw4w9WgXcQ ...
  • http://www.youtube.com/user/username#p/u/11/dQw4w9WgXcQ ...
  • http://www.youtube.com/sandalsResorts#p/c/54B8C800269D7C1B/0/dQw4w9WgXcQ ...
  • http://www.youtube.com/watch?feature=player_embedded&v=dQw4w9WgXcQ ...
  • http://www.youtube.com/?feature=player_embedded&v=dQw4w9WgXcQ ...

It also works on the youtube-nocookie.com URL with the same above options.

It will also pull the ID from the URL in an embed code (both iframe and object tags)

Wednesday, March 31, 2021
 
khaverim
answered 11 Months ago
Only authorized users can answer the question. Please sign in first, or register a free account.
Not the answer you're looking for? Browse other questions tagged :