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

DDD
リリース: 2024-11-01 20:35:30
オリジナル
647 人が閲覧しました

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

YouTube URL からのビデオ ID の抽出

コード内で YouTube ビデオ URL を操作する場合、多くの場合、識別のためにビデオ ID を抽出する必要があります。または加工。 YouTube API にはこれを行う関数が直接提供されていませんが、簡単な手法を使用して URL を解析して ID を取得できます。

正規表現を使用した URL の解析

一般的なアプローチの 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 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 の URL。ただし、このサービスからビデオ ID に直接アクセスすることはできません。

oembed サービスを使用すると、タイトル、作成者、サムネイルなどの情報を取得できます。これは、YouTube URL を検証したり、その他の関連する詳細を抽出したりする場合に役立ちます。

<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 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!