Verwenden Sie parse_url () und parse_str () .
(Sie können reguläre Ausdrücke für fast alles verwenden, aber es ist sehr leicht, Fehler zu machen. Wenn es also PHP-Funktionen speziell für das gibt, was Sie erreichen möchten, verwenden Sie diese.)
parse_url nimmt einen String und schneidet ihn in ein Array mit einer Reihe von Informationen. Sie können mit diesem Array arbeiten oder das gewünschte Element als zweites Argument angeben. In diesem Fall interessiert uns die Abfrage PHP_URL_QUERY.
Jetzt haben wir die Abfrage, das heißt v=C4kxS1ksqtw&feature=relate, aber wir wollen nur das Teil danach v=. Dazu wenden wir uns dem zu, parse_strwas im Grunde wie GETbei einer Saite funktioniert . Es nimmt eine Zeichenfolge und erstellt die in der Zeichenfolge angegebenen Variablen. In diesem Fall $vund $featurewird erstellt. Wir sind nur interessiert an $v.
Um sicher zu gehen, möchten Sie nicht einfach alle Variablen aus dem parse_urlin Ihrem Namespace speichern (siehe Kommentar von mellowsoon). Speichern Sie die Variablen stattdessen als Elemente eines Arrays, damit Sie steuern können, welche Variablen Sie speichern, und eine vorhandene Variable nicht versehentlich überschreiben können.
Alles zusammen haben wir:
<?php
$url = "http://www.youtube.com/watch?v=C4kxS1ksqtw&feature=relate";
parse_str( parse_url( $url, PHP_URL_QUERY ), $my_array_of_vars );
echo $my_array_of_vars['v'];
// Output: C4kxS1ksqtw
?>
Arbeitsbeispiel
Bearbeiten:
hehe - danke Charles. Das hat mich zum Lachen gebracht, ich habe das Zawinski-Zitat noch nie gesehen:
Some people, when confronted with a problem, think ‘I know, I’ll use regular expressions.’ Now they have two problems.
- Jamie Zawinski