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&format=json', urlencode($url)))));</code>
以上がURL から YouTube ビデオ ID を抽出するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。