Heim >Backend-Entwicklung >PHP-Tutorial >Wie extrahiere ich YouTube-Video-IDs zuverlässig mit „preg_match'?

Wie extrahiere ich YouTube-Video-IDs zuverlässig mit „preg_match'?

Barbara Streisand
Barbara StreisandOriginal
2024-12-02 07:24:10348Durchsuche

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

YouTube-Video-ID mit preg_match analysieren

Beim Versuch, die Video-ID aus einer YouTube-URL mit preg_match zu extrahieren, ein häufiger, aber erfolgloser Ansatz verwendet einen bestimmten regulären Ausdruck. Dieser Ausdruck führt jedoch häufig zu dem Fehler „Unbekannter Modifikator ‚[‘“.

Verbesserte Lösung

Um diesen Fehler zu beheben, entsteht ein erweiterter regulärer Ausdruck mit besserer Vielseitigkeit als eine überlegene Alternative:

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

Schlüssel Funktionen

  1. Flexibilität: Dieser umfassende Ausdruck umfasst eine breite Palette von YouTube-URL-Formaten und gewährleistet so die Anpassungsfähigkeit an verschiedene Szenarien.
  2. Konten-URLs: Es extrahiert erfolgreich Video-IDs aus URLs mit Folgendem Variationen:

    • youtu.be-URLs
    • YouTube-Einbettungs-URLs
    • Normale YouTube-URLs mit den Präfixen „v=“ oder „e/“
    • URLs mit zusätzlichem Inhalt im Anschluss an das Video ID
  3. Unterstützte Plattformen: Der Ausdruck funktioniert nahtlos mit den URLs YouTube.com und YouTube-nocookie.com.
  4. Einbettungscode Kompatibilität: Es verarbeitet Einbettungscodes problemlos und extrahiert die Video-ID trotz ihrer Spezifität Format.

Beispiel-URL-Abgleich

Dieser vielseitige Ausdruck gleicht Video-IDs genau aus einer Vielzahl von URLs ab und extrahiert sie. einschließlich:

  • 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?...

Das obige ist der detaillierte Inhalt vonWie extrahiere ich YouTube-Video-IDs zuverlässig mit „preg_match'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn