parse_url
(PHP 4, PHP 5, PHP 7)
parse_url — Analysiert eine URL und gibt ihre Bestandteile zurück
Beschreibung
Diese Funktion parst einen URL und gibt ein assoziatives Array zurück, das die im URL vorhandenen Komponenten enthält. Die Werte der Array-Elemente sind nicht URL dekodiert.
Diese Funktion ist nicht dazu gedacht, einen gegebenen URL zu validieren, sondern es gliedert einen URL in die unten aufgeführten Bestandteile. Unvollständige URLs werden als Parameter akzeptiert, parse_url() versucht, sie bestmöglich zu analysieren.
Parameter-Liste
-
url
-
Der zu parsende URL. Ungültige Zeichen werden durch _ ersetzt.
-
component
-
Geben Sie einen der folgenden Parameter an, um nur einen spezifischen Teil des URL als String (außer wenn
PHP_URL_PORT
angegeben wird, in welchem Fall der Rückgabewert ein Integer ist) zu erhalten: Geben Sie entwederPHP_URL_SCHEME
,PHP_URL_HOST
,PHP_URL_PORT
,PHP_URL_USER
,PHP_URL_PASS
,PHP_URL_PATH
,PHP_URL_QUERY
oderPHP_URL_FRAGMENT
an.
Rückgabewerte
Bei sehr fehlerhaften URLs kann parse_url() FALSE
zurückgeben.
Wird der component
Parameter ausgelassen, wird ein
assoziatives Array zurückgegeben. Mindestens ein Bestandteil liegt
im Array vor. Mögliche Schlüssel in diesem Array sind:
- scheme - z.B. http
- host
- port
- user
- pass
- path
- query - alles nach dem Fragezeichen ?
- fragment - alles nach dem Textanker #
Ist der Parameter component
angegeben, gibt
parse_url() ein
String (oder ein Integer, im Fall von
PHP_URL_PORT
) anstelle des normalen Array zurück.
Changelog
Version | Beschreibung |
---|---|
5.4.7 | Host-Erkennung bei fehlendem Schema und führendem Komponententrenner korrigiert. |
5.3.3 | E_WARNING für fehlerhafte URLs entfernt. |
5.1.2 | component -Parameter hinzugefügt |
Beispiele
Beispiel #1 Ein parse_url()-Beispiel
<?php
$url = 'http://benutzername:passwort@hostname:9090/pfad?argument=wert#textanker';
var_dump(parse_url($url));
var_dump(parse_url($url, PHP_URL_SCHEME));
var_dump(parse_url($url, PHP_URL_USER));
var_dump(parse_url($url, PHP_URL_PASS));
var_dump(parse_url($url, PHP_URL_HOST));
var_dump(parse_url($url, PHP_URL_PORT));
var_dump(parse_url($url, PHP_URL_PATH));
var_dump(parse_url($url, PHP_URL_QUERY));
var_dump(parse_url($url, PHP_URL_FRAGMENT));
?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
array(8) { ["scheme"]=> string(4) "http" ["host"]=> string(8) "hostname" ["port"]=> int(9090) ["user"]=> string(12) "benutzername" ["pass"]=> string(8) "passwort" ["path"]=> string(5) "/pfad" ["query"]=> string(13) "argument=wert" ["fragment"]=> string(9) "textanker" } string(4) "http" string(12) "benutzername" string(8) "passwort" string(8) "hostname" int(9090) string(5) "/pfad" string(13) "argument=wert" string(9) "textanker"
Beispiel #2 Ein parse_url()-Beispiel mit fehlendem Schema
<?php
$url = '//www.example.com/path?googleguy=googley';
// Vor 5.4.7 wurde der Pfad als "//www.example.com/path" angezeigt
var_dump(parse_url($url));
?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
array(3) { ["host"]=> string(15) "www.example.com" ["path"]=> string(5) "/path" ["query"]=> string(17) "googleguy=googley" }
Anmerkungen
Hinweis:
Diese Funktion gibt für relative URLs möglicherweise inkorrekte Ergebnisse.
Hinweis:
Die Funktion ist primär dazu gedacht, URLs zu parsen, nicht jedoch URIs. Um jedoch die Abwärtskompatibilität von PHP zu gewährleisten, wird für das Schema file:// die Ausnahme dreier Slashes (file:///) zugelassen. Bei allen anderen Schemata ist diese Notierung ungültig.
Siehe auch
- pathinfo() - Liefert Informationen über einen Dateipfad
- parse_str() - Überträgt einen String in Variable
- http_build_query() - Erstellen eines URL-kodierten Query-Strings
- dirname() - Gibt den Pfad des übergeordneten Verzeichnisses zurück
- basename() - Gibt letzten Namensteil einer Pfadangabe zurück
- » RFC 3986
Deutsche Übersetzung
Sie haben gebeten, diese Seite auf Deutsch zu besuchen. Momentan ist nur die Oberfläche übersetzt, aber noch nicht der gesamte Inhalt.Wenn Sie mir bei Übersetzungen helfen wollen, ist Ihr Beitrag willkommen. Alles, was Sie tun müssen, ist, sich auf der Website zu registrieren und mir eine Nachricht zu schicken, in der Sie gebeten werden, Sie der Gruppe der Übersetzer hinzuzufügen, die Ihnen die Möglichkeit gibt, die gewünschten Seiten zu übersetzen. Ein Link am Ende jeder übersetzten Seite zeigt an, dass Sie der Übersetzer sind und einen Link zu Ihrem Profil haben.
Vielen Dank im Voraus.
Dokument erstellt 30/01/2003, zuletzt geändert 26/10/2018
Quelle des gedruckten Dokuments:https://www.gaudry.be/de/php-rf-parse-url.html
Die Infobro ist eine persönliche Seite, deren Inhalt in meiner alleinigen Verantwortung liegt. Der Text ist unter der CreativeCommons-Lizenz (BY-NC-SA) verfügbar. Weitere Informationen auf die Nutzungsbedingungen und dem Autor.
Referenzen
Diese Verweise und Links verweisen auf Dokumente, die während des Schreibens dieser Seite konsultiert wurden, oder die zusätzliche Informationen liefern können, aber die Autoren dieser Quellen können nicht für den Inhalt dieser Seite verantwortlich gemacht werden.
Der Autor Diese Website ist allein dafür verantwortlich, wie die verschiedenen Konzepte und Freiheiten, die mit den Nachschlagewerken gemacht werden, hier dargestellt werden. Denken Sie daran, dass Sie mehrere Quellinformationen austauschen müssen, um das Risiko von Fehlern zu reduzieren.