首頁  >  文章  >  後端開發  >  如何從 URL 提取 YouTube 影片 ID?

如何從 URL 提取 YouTube 影片 ID?

DDD
DDD原創
2024-11-01 20:35:30649瀏覽

How Can I Extract a YouTube Video ID from a URL?

從 YouTube 網址擷取影片 ID

在程式碼中使用 YouTube 影片網址時,通常需要擷取影片 ID 進行辨識或加工。雖然 YouTube API 沒有直接提供執行此操作的函數,但您可以使用簡單的技術來解析 URL 並檢索 ID。

使用正規表示式解析 URL

一種常見的方法是使用正規表示式從 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 URL 作為輸入,並將其與捕獲影片 ID 的正規表示式進行比對。此模式確保它與不同格式的有效 YouTube URL 相符。

範例用法

要使用此功能,您可以提供YouTube URL 並擷取擷取的影片ID :

<code class="php">echo youtube_id_from_url('http://youtu.be/NLqAF9hrVbY'); # NLqAF9hrVbY</code>

替代方法:YouTube Oembed 服務

雖然與API 沒有直接關係,但YouTube 還提供了一個oembed 服務,該服務提供有關某個內容的更多元資訊YouTube 網址。但是,無法透過此服務直接取得視訊 ID。

透過使用 oembed 服務,您可以獲得標題、作者、縮圖等資訊。這對於驗證 YouTube 網址或提取其他相關詳細資訊非常有用。

<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 提取 YouTube 影片 ID?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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