首頁 > 後端開發 > php教程 > 如何使用 PHP 正規表示式從各種 URL 中提取 YouTube 影片 ID?

如何使用 PHP 正規表示式從各種 URL 中提取 YouTube 影片 ID?

Barbara Streisand
發布: 2024-12-08 02:50:11
原創
435 人瀏覽過

How to Extract YouTube Video IDs from Various URLs Using PHP Regex?

使用 PHP 正規表示式解析 YouTube 影片 ID

要使用 PHP 的 preg_match 解析 YouTube URL 中的影片ID,請使用以下改進的正規表示式:

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

優點:

  • 通用相容性:此正規表示式從各種YouTube URL 格式(包括youtu)捕獲影片ID .be、watch?v=和嵌入
  • 異常處理:它會忽略 URL 中視頻 ID 之後出現的其他字符,確保可靠提取。
  • 支援備用 URL: 正規表示式也處理託管在youtube-nocookie.com。

用法:

$subject = "http://www.youtube.com/watch?v=z_AbfPXTKms&NR=1";
preg_match('%(?:youtube(?:-nocookie)?\.com/(?:[^/]+/.+/|(?:v|e(?:mbed)?)/|.*[?&]v=)|youtu\.be/)([^"&?/\s]{11})%i', $subject, $matches);

print "<pre class="brush:php;toolbar:false">";
print_r($matches);
print "
";
登入後複製

範例輸入/輸出:

Input URL Output
http://youtu.be/dQw4w9WgXcQ z_AbfPXTKms
http://www.youtube.com/e/dQw4w9WgXcQ z_AbfPXTKms
http://www.youtube.com/watch?feature=player_embedded&v=dQw4w9WgXcQ z_AbfPXTKms
http://www.youtube-nocookie.com/watch?v=dQw4w9WgXcQ z_AbfPXTKms

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

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板