Heim >Backend-Entwicklung >PHP-Tutorial >Wie extrahiere ich YouTube-Video-IDs aus verschiedenen URLs mit PHP Regex?

Wie extrahiere ich YouTube-Video-IDs aus verschiedenen URLs mit PHP Regex?

Barbara Streisand
Barbara StreisandOriginal
2024-12-08 02:50:11433Durchsuche

How to Extract YouTube Video IDs from Various URLs Using PHP Regex?

Parsen Sie YouTube-Video-IDs mit PHP Regex

Um die Video-ID einer YouTube-URL mithilfe von PHPs preg_match zu analysieren, verwenden Sie die folgende verbesserte Regel Ausdruck:

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

Vorteile:

  • Universelle Kompatibilität: Dieser reguläre Ausdruck erfasst Video-IDs aus verschiedenen YouTube-URL-Formaten, einschließlich youtu .be, watch?v= und Einbettungscodes.
  • Ausnahme Handhabung: Es ignoriert zusätzliche Zeichen, die nach der Video-ID in der URL vorhanden sind, und gewährleistet so eine zuverlässige Extraktion.
  • Unterstützung für alternative URLs: Der reguläre Ausdruck verarbeitet auch YouTube-URLs, die auf gehostet werden youtube-nocookie.com.

Verwendung:

$subject = "http://www.youtube.com/watch?v=z_AbfPXTKms&NR=1";
preg_match('%(?:youtube(?:-nocookie)?\.com/(?:[^/]+/.+/|(?:v|e(?:mbed)?)/|.*[?&]v=)|youtu\.be/)([^"&?/\s]{11})%i', $subject, $matches);

print "<pre class="brush:php;toolbar:false">";
print_r($matches);
print "
";

Beispieleingabe/-ausgabe:

Input URL Output
http://youtu.be/dQw4w9WgXcQ z_AbfPXTKms
http://www.youtube.com/e/dQw4w9WgXcQ z_AbfPXTKms
http://www.youtube.com/watch?feature=player_embedded&v=dQw4w9WgXcQ z_AbfPXTKms
http://www.youtube-nocookie.com/watch?v=dQw4w9WgXcQ z_AbfPXTKms

Das obige ist der detaillierte Inhalt vonWie extrahiere ich YouTube-Video-IDs aus verschiedenen URLs mit PHP Regex?. 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