PHP を使用した YouTube ビデオ ID の抽出
Web アプリケーションでは、多くの場合、ユーザーが入力した URL から YouTube ビデオ ID を抽出する必要があります。 YouTube API はこのタスク用の直接的な機能を提供していませんが、代替ソリューションはあります。
1 つの方法は、正規表現を使用して URL 文字列を解析することです。これを行う 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>
たとえば、 echo youtube_id_from_url('http://youtu.be/NLqAF9hrVbY'); を実行します。 「NLqAF9hrVbY」が出力されます。
もう 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&format=json', urlencode($url)))));</code>
oEmbed サービスは、ビデオ タイトルやサムネイルなどの追加情報を提供します。ただし、ID は応答に直接含まれません。
最終的に、使用する方法の選択は、特定のニーズによって異なります。通常、正規表現を使用する方が簡単ですが、oEmbed サービスはより包括的な情報を提供できます。
以上がPHP を使用して URL から YouTube ビデオ ID を抽出するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。