(PHP 4, PHP 5)
parse_url — Analyse une URL et retourne ses composants
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 URL partielles sont également acceptées, la fonction parse_url() fera de son mieux pour les analyser correctement.
L'URL à analyser
Peut être une des constantes parmi 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.
Pour les URL 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.
Version | Description |
---|---|
5.1.2 | Ajout du paramètre component |
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
Note: Cette fonction ne fonctionne pas avec les URL relatives.
Note: parse_url() a été créée tout spécialement pour analyser les URL et non les URI. 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.