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

Susan Sarandon
發布: 2024-11-01 07:05:02
原創
351 人瀏覽過

How Can I Extract Video IDs from YouTube URLs?

從YouTube URL 中提取影片ID

在用戶提供YouTube 影片URL 的情況下,需要擷取影片ID 才能實現各種功能。雖然 YouTube API 沒有提供用於此目的的專用函數,但可以使用替代方法。

一種方法涉及使用正規表示式來解析 URL 並隔離視訊 ID。以下是利用此方法的 PHP 函數範例:

<code class="php">/**
 * get youtube video ID from URL
 *
 * @param string $url
 * @return string Youtube video id or FALSE if none found.
 */
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 服務。雖然它不直接提供視訊 ID,但它提供有關 URL 的附加元資料。這是使用 JSON 的範例:

<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>
登入後複製

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

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