parse_url() ist wahrscheinlich eine gute Wahl hier. Wenn Sie eine schlechte URL erhalten, gibt die Funktion false
zurück. Andernfalls zerlegt sie die URL in ihre Bestandteile, die Sie verwenden können.
Beispiel:
$urlTeile = parse_url('http://www.youtube.com/watch?v=MX0D4oZwCsA');
if ($urlTeile == false) echo "Schlechte URL";
else echo "Param-String ist ".$urlTeile['query'];
Ausgabe:
Param-String ist v=MX0D4oZwCsA
Sie könnten den Abfrage-Teil bei Bedarf mit explode() für spezifische Parameter aufteilen.
Bearbeitung: Beachten Sie, dass parse_url()
so hart wie möglich versucht, den ihm übergebenen String zu analysieren, sodass schlechte URLs oft erfolgreich sind, obwohl das resultierende Datenarray sehr eigenartig sein wird. Es liegt natürlich an Ihnen, wie eindeutig Sie Ihre Validierung gestalten möchten und welche genauen Anforderungen Sie an Ihre Benutzereingabe stellen.