ホームページ >バックエンド開発 >PHPチュートリアル >「preg_match」を使用して URL から YouTube ビデオ ID を確実に抽出するにはどうすればよいですか?

「preg_match」を使用して URL から YouTube ビデオ ID を確実に抽出するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-01 03:24:12146ブラウズ

How Can I Reliably Extract YouTube Video IDs from URLs Using `preg_match`?

preg_match を使用した YouTube ビデオ ID の解析

問題:

元の問題で示されているように、preg_match を使用する YouTube URL は困難な場合があります。指定された正規表現は、構文エラーのため、望ましい結果を生成しませんでした。

解決策:

preg_match を使用してビデオ ID を抽出するためのより堅牢なソリューションは、次のとおりです。提供された回答:

if (preg_match('%(?:youtube(?:-nocookie)?\.com/(?:[^/]+/.+/|(?:v|e(?:mbed)?)/|.*[?&]v=)|youtu\.be/)([^"&?/\s]{11})%i', $url, $match)) {
    $video_id = $match[1];
}

この正規表現は、さまざまな YouTube URL 形式に対応します。以下を含む:

  • http://youtu.be/dQw4w9WgXcQ
  • http://www.youtube.com/embed/ dQw4w9WgXcQ
  • http://www.youtube.com/watch?v=dQw4w9WgXcQ

さらに、 youtube-nocookie.com ドメインと、iframe またはオブジェクト タグに埋め込まれたビデオ ID を処理します。

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

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