首頁 >後端開發 >php教程 >如何從 YouTube URL 中提取影片 ID?

如何從 YouTube URL 中提取影片 ID?

Barbara Streisand
Barbara Streisand原創
2024-10-31 23:04:28213瀏覽

How to Extract a Video ID from a YouTube URL?

Youtube API:從URL 擷取影片ID

介紹

使用正規表示式

一種方法是使用正規表示式來解析URL 並識別視訊 ID。這是用PHP 寫的函數:

<code class="php">function youtube_id_from_url($url) {
    $pattern = '%^# Match any youtube URL
        (?:https?://)?  # Optional scheme. Either http or https
        (?:www\.)?      # Optional www subdomain
        (?:             # Group host alternatives
          youtu\.be/    # Either youtu.be,
        | youtube\.com  # or youtube.com
          (?:           # Group path alternatives
            /embed/     # Either /embed/
          | /v/         # or /v/
          | /watch\?v=  # or /watch\?v=
          )             # End path alternatives.
        )               # End host alternatives.
        ([\w-]{10,12})  # Allow 10-12 for 11 char youtube id.
        $%x';
    $result = preg_match($pattern, $url, $matches);
    if ($result) {
        return $matches[1];
    }
    return false;
}</code>

Youtube OEMBED 服務

另一個選擇是利用Youtube 的OEMBED 服務,它提供有關視訊的附加資訊,包括其ID。使用方法如下:

<code class="php">$url = 'http://youtu.be/NLqAF9hrVbY';
var_dump(json_decode(file_get_contents(sprintf('http://www.youtube.com/oembed?url=%s&amp;format=json', urlencode($url)))));</code>

其他注意事項

  • 範例正規表示式支援影片、播放清單和頻道的 URL。
  • 它可以處理各種 URL 格式,包括帶有查詢參數的 URL 格式。
  • 使用 OEMBED 是一種有效的替代方案,但必須從傳回的 JSON 回應中提取 ID。
  • 其他編碼語言將有自己的解析 URL 和擷取影片 ID 的方法。

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

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