首頁 >後端開發 >php教程 >如何使用「preg_match」從各種 URL 中可靠地提取 YouTube 影片 ID?

如何使用「preg_match」從各種 URL 中可靠地提取 YouTube 影片 ID?

Patricia Arquette
Patricia Arquette原創
2024-12-09 01:33:10263瀏覽

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/dQw4w9WgXc4w //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