Nehmen wir diese URLs als Beispiel:
Diese PHP-Funktion wird die ID in Fall 1 NICHT richtig erhalten, aber in Fall 2. Fall 1 ist sehr üblich, wobei ALLES hinter der YouTube-ID stehen kann.
%Vor%Was ich denke ist, dass es einen Weg geben muss, auf dem ich einfach nach dem "v=" suchen kann, egal wo es in der URL liegt, und die Charaktere danach nehmen. Auf diese Weise wird kein komplexes RegEx benötigt. Ist das von der Basis? Irgendwelche Ideen für Startpunkte?
Dies ist, was ich verwende, um die ID aus einer Youtube-URL zu extrahieren. Ich denke, es funktioniert in allen Fällen.
Beachten Sie, dass am Ende $ values = id des Videos
ist Anstelle von Regex. Ich empfehle wärmstens parse_url()
und parse_str()
:
Fertig
Die Vorschläge von parse_url sind gut. Wenn Sie wirklich eine Regex wollen, können Sie dies verwenden:
%Vor%Ich habe die folgenden Muster verwendet, weil YouTube auch eine youtube-nocookie.com-Domain hat:
%Vor%In Ihrem Fall würde es nur bedeuten, die vorhandenen Ausdrücke mit einem optionalen (-nocookie) für die normale YouTube.com-URL wie folgt zu erweitern:
%Vor%Wenn Sie Ihren vorgeschlagenen Ausdruck so ändern, dass er NICHT das finale $ enthält, sollte es wie gewünscht funktionieren. Ich habe den -nocookie ebenfalls hinzugefügt.
%Vor%Hier ist eine Lösung
%Vor%Es kann auch mit mobilen Verbindungen umgehen.
Tags und Links php regex youtube youtube-api