ホームページ  >  記事  >  バックエンド開発  >  YouTube URLからビデオIDを抽出するにはどうすればよいですか?

YouTube URLからビデオIDを抽出するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-10-31 23:04:28121ブラウズ

How to Extract a Video ID from a YouTube URL?

Youtube API: URL からビデオ ID を抽出する

はじめに

Youtube ビデオを操作する場合Web アプリケーションでは、メタデータにアクセスしてそれを埋め込むために、URL からビデオ ID を抽出する必要があります。 Youtube API はこのタスク用の直接的な機能を提供していないため、代替方法を使用する必要があります。

正規表現の使用

1 つの方法は、正規表現を使用して、 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 サービス

もう 1 つのオプションは、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 形式を処理します。
  • OEMBED の使用は有効な代替手段ですが、返された JSON 応答から ID を抽出する必要があります。
  • 他のコーディング言語ではURL を解析してビデオ ID を抽出するための独自のアプローチがあります。

以上がYouTube URLからビデオIDを抽出するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。