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

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

Patricia Arquette
Patricia ArquetteOriginal
2024-12-09 01:33:10261Durchsuche

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

Parsing der YouTube-Video-ID mit preg_match: Eine erweiterte Lösung

Die Notwendigkeit, YouTube-Video-IDs zu extrahieren, entsteht häufig in verschiedenen Webentwicklungsszenarien. In diesem Zusammenhang stehen Sie möglicherweise vor der Herausforderung, die Video-ID mithilfe von preg_match aus der URL zu analysieren. Auch wenn der reguläre Ausdruck, den Sie zunächst gefunden haben, vielversprechend erscheinen mag, enthält er kryptische Modifikatoren und Gruppen, die zu Fehlern führen können.

Ein erweiterter Ansatz besteht darin, einen umfassenderen regulären Ausdruck zu verwenden, der ein breites Spektrum an YouTube-URL-Formaten abdeckt. Hier ist ein verbesserter regulärer Ausdruck, den wir empfehlen:

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

Dieser erweiterte reguläre Ausdruck erfasst die folgende URL Formate:

  • http://youtu.be/dQw4w9WgXcQ
  • http://www.youtube.com/embed/dQw4w9WgXcQ
  • http://www .youtube.com/watch?v=dQw4w9WgXcQ
  • http://www.youtube.com/?v=dQw4w9WgXcQ
  • http://www.youtube.com/v/dQw4w9WgXcQ
  • http://www.youtube. com/e/dQw4w9WgXcQ
  • http://www. youtube.com/user/username#p/u/11/dQw4w9WgXcQ
  • http://www.youtube.com/sandalsResorts#p/c/54B8C800269D7C1B/0/dQw4w9WgXcQ
  • http: //www.yo utube.com/watch?feature=player_embedded&v=dQw4w9WgXcQ
  • http://www.youtube.com/?feature=player_embedded&v=dQw4w9WgXcQ

Zusätzlich, Diese Lösung deckt URLs auf „youtube.com“ und „youtube-nocookie.com“ sowie eingebettete URLs in Iframe- und Objekt-Tags ab.

Zusammenfassend bietet dieser verfeinerte Ansatz eine umfassende Lösung zum Extrahieren von YouTube Video-IDs aus verschiedenen URL-Formaten, um Genauigkeit und Benutzerfreundlichkeit zu gewährleisten.

Das obige ist der detaillierte Inhalt vonWie kann ich mit „preg_match' zuverlässig YouTube-Video-IDs aus verschiedenen 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