首頁 >後端開發 >php教程 >如何使用正規表示式可靠地提取 YouTube 影片 ID?

如何使用正規表示式可靠地提取 YouTube 影片 ID?

Barbara Streisand
Barbara Streisand原創
2024-12-03 17:50:15856瀏覽

How to Reliably Extract YouTube Video IDs Using Regular Expressions?

使用preg_match 解析YouTube 影片ID

嘗試使用preg_match 從YouTube URL 衍生影片ID,如果提供的衍生模式會導致「未知問題修飾符'['錯誤”。為了解決這個問題,我們提供了另一種正規表示式,可以有效地捕獲各種 URL 格式的視訊 ID。

改良後的正規表示式如下:

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

此模式成功符合下列 URL格式:

  • 完整網址: http://www.youtube.com/watch?v=dQw4w9WgXcQ
  • 嵌入網址: http://www.youtube.com/embed/dQw4w9WgXcQ
  • 短網址:
  • http://youtu.be/dQw4w9WgXcQ
  • 搜尋網址:
  • http://www.youtube.com/?v=dQw4w9WgXcQ
  • 用戶網址:
  • http://www.youtube.com/user/username#p/u/11/dQw4w9WgXcQ
  • 頻道網址:
  • http://www.youtube.com/sandalsResorts#p/c/54B8C800269D7C1B/0/dQw4w9WgXcQ
  • 嵌入網址(iframe):
  • 嵌入網址(iframe): http://www.youtube.com/watch?feature=player_embedded&v=dQw4w9WgXcQ

嵌入 URL(物件):

http://www.youtube.com/?feature=player_embedded&v= dQw4w9WgXcQ利用這個正規表示式,可以從各種 YouTube URL 中可靠地提取影片 ID。

以上是如何使用正規表示式可靠地提取 YouTube 影片 ID?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn