parse_url

(PHP 3, PHP 4, PHP 5)

parse_url -- Analyse une URL et retourne ses composants

Description

mixed parse_url ( string url [, int component] )

Cette fonction analyse une URL et retourne un tableau associatif contenant tous les éléments qui y sont présents.

Cette fonction n'est pas faite pour valider l'URL fournie, elle ne fait que la découper en parties listées ci-dessous. Les URLs partielles sont également acceptées, la fonction parse_url() fera de son mieux pour les analyser correctement.

Liste de paramètres

url

L'URL à analyser

component

Peut être une des constantes parmis PHP_URL_SCHEME, PHP_URL_HOST, PHP_URL_PORT, PHP_URL_USER, PHP_URL_PASS, PHP_URL_PATH, PHP_URL_QUERY ou PHP_URL_FRAGMENT pour récupérer uniquement une partie de l'URL en tant que chaîne de caractères.

Valeurs de retour

Pour les URLs vraiment mal formées, parse_url() peut retourner FALSE et émettre un E_WARNING. Sinon, un tableau associatif est retourné, dont les éléments peuvent être (au moins un) :

Si le paramètre component est spécifié, une chaîne de caractères est retournée au lieu d'un tableau.

Historique

VersionDescription
5.1.2Ajout du paramètre component

Exemples

Exemple 1. Exemple avec parse_url()

<?php
$url
= 'http://username:password@hostname/path?arg=value#anchor';

print_r(parse_url($url));

echo
parse_url($url, PHP_URL_PATH);
?>

L'exemple ci-dessus va afficher :

Array
(
     [scheme] => http
     [host] => hostname
     [user] => username
     [pass] => password
     [path] => /path
     [query] => arg=value
     [fragment] => anchor
)
/path

Notes

Note : Cette fonction ne fonctionne pas avec les URLs relatives.

Note : parse_url() a été créée tout spécialement pour analyser les URLs et non les URIs. Cependant, pour des raisons de compatibilité adjacente, PHP fait une exception pour le schéma file:// où les triples slashs (file:///...) sont autorisés. Tous les autres schémas sont invalides.

Voir aussi

pathinfo()
parse_str()
http_build_query()
dirname()
basename()