Heim >Backend-Entwicklung >PHP-Tutorial >Wie kann ich YouTube-Video-IDs mithilfe von „preg_match' zuverlässig aus URLs extrahieren?

Wie kann ich YouTube-Video-IDs mithilfe von „preg_match' zuverlässig aus URLs extrahieren?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-01 03:24:12211Durchsuche

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

Parsing der YouTube-Video-ID mit preg_match

Problem:

Parsing der Video-ID von a Die Verwendung einer YouTube-URL mit preg_match kann eine Herausforderung sein, wie das ursprüngliche Problem zeigt. Der bereitgestellte reguläre Ausdruck lieferte aufgrund von Syntaxfehlern nicht die gewünschten Ergebnisse.

Lösung:

Eine robustere Lösung zum Extrahieren der Video-ID mit preg_match finden Sie in die bereitgestellte Antwort:

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

Dieser reguläre Ausdruck eignet sich für verschiedene YouTube-URL-Formate, einschließlich:

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

Zusätzlich, Es verarbeitet die youtube-nocookie.com-Domäne und Video-IDs, die in Iframe- oder Objekt-Tags eingebettet sind.

Das obige ist der detaillierte Inhalt vonWie kann ich YouTube-Video-IDs mithilfe von „preg_match' zuverlässig aus URLs extrahieren?. 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