首页 >后端开发 >php教程 >如何使用'preg_match”从各种 URL 中可靠地提取 YouTube 视频 ID?

如何使用'preg_match”从各种 URL 中可靠地提取 YouTube 视频 ID?

Patricia Arquette
Patricia Arquette原创
2024-12-09 01:33:10280浏览

How Can I Reliably Extract YouTube Video IDs from Various URLs using `preg_match`?

使用 preg_match 解析 YouTube 视频 ID:扩展解决方案

在各种 Web 开发场景中经常会出现提取 YouTube 视频 ID 的需求。在这种情况下,您可能会遇到使用 preg_match 从 URL 解析视频 ID 的挑战。虽然您最初找到的正则表达式可能看起来很有希望,但它包含可能导致错误的神秘修饰符和组。

增强的方法是利用涵盖各种 YouTube URL 格式的更全面的正则表达式。这是我们推荐的改进正则表达式:

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

此扩展正则表达式捕获以下 URL格式:

  • 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.yo utube.com/watch?feature=player_embedded&v=dQw4w9WgXcQ
  • http://www.youtube.com/?feature=player_embedded&v=dQw4w9WgXcQ

此外,该解决方案涵盖“youtube.com”和“youtube-nocookie.com”上的网址,以及 iframe 和对象标记中的嵌入网址。

总而言之,这种改进的方法为提取 YouTube 提供了全面的解决方案来自各种 URL 格式的视频 ID,确保准确性和易用性。

以上是如何使用'preg_match”从各种 URL 中可靠地提取 YouTube 视频 ID?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn