PHP Handbuch
Zurück |  | Weiter

# parse_url

(PHP 3, PHP 4, PHP 5)

parse_url -- Analysiert einen URL und gibt seine Bestandteile zurück

## Beschreibung

mixed parse_url ( string url [, int component] )

Diese Funktion parst einen URL und gibt ein assoziatives Array zurück, das die im URL vorhandenen Komponenten enthält.

Diese Funktion ist nicht dazu gedacht, einen gegebenen URL zu validieren, sondern es gliedert einen URL in die 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

`component`

  Geben Sie einen der folgenden Parameter an, um nur einen spezifischen Teil des URL als String zu erhalten: `PHP_URL_SCHEME`, `PHP_URL_HOST`, `PHP_URL_PORT`, `PHP_URL_USER`, `PHP_URL_PASS`, `PHP_URL_PATH`, `PHP_URL_QUERY` oder `PHP_URL_FRAGMENT`.

## Rückgabewerte

Bei sehr fehlerhaften URLs kann parse_url() `FALSE` zurückgeben und wirft `E_WARNING`. Andernfalls wird ein assoziatives Array zurückgegeben, dessen Bestandteile sich wie folgt zusammensetzen können (mindestens ein Bestandteil liegt vor):

- `scheme` - z.B. http

- `host`

- `port`

- `user`

- `pass`

- `path`

- `query` - alles nach dem Fragezeichen `?`

- `fragment` - alles nach dem Textanker `#`

Ist der Parameter `component` angegeben, wird ein String anstelle des normalen Array zurückgegeben.

## ChangeLog

Version | Beschreibung
--- | ---
5.1.2 | `component`-Parameter hinzugefügt

## Beispiele

Beispiel 1. Ein parse_url()-Beispiel

`<?php $url = 'http://benutzername:passwort@hostname/pfad?argument=wert#textanker'; print_r(parse_url($url)); echo parse_url($url, PHP_URL_PATH); ?>`

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

    Array
    (
        [scheme] => http
        [host] => hostname
        [user] => benutzername
        [pass] => passwort
        [path] => /pfad
        [query] => argument=wert
        [fragment] => textanker
    )
    /pfad

## Anmerkungen

> Anmerkung: Diese Funktion verarbeitet keine relativen URLs.

> Anmerkung: parse_url() 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()
parse_str()
http_build_query()
dirname()
basename()

Zurück | Zum Anfang | Weiter
http_build_query | Nach oben | rawurldecode