PHP を使用して YouTube 動画 ID を抽出する方法
はじめに
から YouTube 動画 ID を抽出するURL は多くのアプリケーションにとって重要です。これにより、開発者は固有の ID に基づいてビデオを識別し、処理できるようになります。 YouTube API はこのための直接的な機能を提供していませんが、利用可能な他の方法があります。
正規表現ベースのアプローチ
一般的な解決策には、正規表現を使用してURLからビデオIDを抽出します。次の関数は PHP での実装を提供します:
<code class="php">function youtube_id_from_url($url) { $pattern = '%^ (?: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 を渡すだけです:
<code class="php">$video_id = youtube_id_from_url('http://youtu.be/NLqAF9hrVbY'); echo $video_id; // NLqAF9hrVbY</code>
YouTube oEmbed サービス
直接的な API 関数ではありませんが、YouTube は oEmbed サービスを提供しています。ビデオ URL をパラメータとして特定の URL にリクエストを送信すると、ビデオに関する追加情報 (ID など) を取得できます。このメソッドは、より多くのコンテキストを提供し、URL 検証を可能にする可能性があります。
<code class="php">$url = 'http://youtu.be/NLqAF9hrVbY'; $oembed_url = sprintf('http://www.youtube.com/oembed?url=%s&format=json', urlencode($url)); $oembed_response = json_decode(file_get_contents($oembed_url)); if ($oembed_response) { $video_id = $oembed_response->video_id; }</code>
以上がPHP を使用して URL から YouTube ビデオ ID を抽出する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。