ホームページ >バックエンド開発 >PHPチュートリアル >「preg_match」を使用して YouTube 動画 ID を確実に抽出する方法

「preg_match」を使用して YouTube 動画 ID を確実に抽出する方法

Barbara Streisand
Barbara Streisandオリジナル
2024-12-02 07:24:10341ブラウズ

How to Reliably Extract YouTube Video IDs Using `preg_match`?

preg_match を使用して YouTube 動画 ID を解析する

preg_match を使用して YouTube URL から動画 ID を抽出しようとする、一般的だが失敗するアプローチ特定の正規表現を使用します。ただし、この式では、「不明な修飾子 '['」エラーが発生することがよくあります。

改善された解決策

このエラーを克服するために、より汎用性の高い強化された正規表現が次のように表示されます。優れた代替手段:

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

キー機能

  1. 柔軟性: この包括的な表現は、幅広い YouTube URL 形式を網羅し、さまざまなシナリオへの適応性を保証します。
  2. アカウント化された URL: 次のコマンドを使用して、URL からビデオ ID を正常に抽出します。バリエーション:

    • youtu.be URL
    • YouTube 埋め込み URL
    • 「v=」または「e/」プレフィックスが付いた通常の YouTube URL
    • 動画の後に追加コンテンツが含まれる URL ID
  3. サポートされているプラ​​ットフォーム: この式は、YouTube.com と YouTube-nocookie.com の両方の URL でシームレスに機能します。
  4. 埋め込みコード互換性: 埋め込みコードを適切に処理し、固有のビデオ ID にもかかわらずビデオ ID を抽出します。

サンプル URL マッチング

この多用途の表現は、さまざまな URL セットからビデオ ID を正確に照合して抽出します。含む:

  • http://youtu.be/dQw4w9WgXcQ
  • http://www.youtube.com/emb ed/dQw4w9WgXcQ
  • http://www.youtube.com/watch?v=dQw4w9WgXcQ
  • http://www .youtube.com/e/dQw4w9WgXcQ
  • http://www.youtube.com/v/dQw4w9WgXcQ
  • http://www.youtube.com/user/username...
  • http://www.youtube.com/watch?...

以上が「preg_match」を使用して YouTube 動画 ID を確実に抽出する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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