parse_url
(PHP 4, PHP 5)
parse_url — Procesar una URL y devolver sus componentes
Descripción
Esta función analiza una URL y devuelve una matriz asociativa que contiene aquellos componentes presentes en la URL.
El propósito de esta función no es validar la URL dada, tan solo la separa en las partes listadas anteriormente. Las URLs parciales son aceptadas también, parse_url() hace lo mejor que puede para procesarlas correctamente.
Lista de parámetros
- url
-
La URL a analizar
- componente
-
Especifique uno de PHP_URL_SCHEME, PHP_URL_HOST, PHP_URL_PORT, PHP_URL_USER, PHP_URL_PASS, PHP_URL_PATH, PHP_URL_QUERY o PHP_URL_FRAGMENT para recibir solo un componente URL especÃfico como un valor tipo string.
Valores retornados
Sobre URLs seriamente malformadas, parse_url() puede devolver FALSE y emitir un valor E_WARNING. De lo contrario se devuelve una matriz asociativa, cuyos componentes pueden ser (al menos uno):
- scheme - p.ej. http
- host
- port
- user
- pass
- path
- query - después del signo de interrogación ?
- fragment - después del signo de numeral #
Si el parámetro componente es especificado, un valor tipo string es devuelto en lugar de un array.
Registro de cambios
Versión | Descripción |
---|---|
5.1.2 | Se agregó el parámetro componente |
Ejemplos
Example#1 Un ejemplo de parse_url()
<?php
$url = 'https://nombre_usuario:contrasenya@nombre_host/ruta?arg=valor#ancla';
print_r(parse_url($url));
echo parse_url($url, PHP_URL_PATH);
?>
El resultado del ejemplo seria:
Array ( [scheme] => http [host] => nombre_host [user] => nombre_usuario [pass] => contrasenya [path] => /ruta [query] => arg=valor [fragment] => ancla ) /path
Notes
Note: Esta función no trabaja con URLs relativas.
Note: Esta función tiene el propósito especÃfico de procesar URLs y no URIs. Sin embargo, para cumplir con los requerimientos de compatibilidad hacia atrás de PHP, hace una excepción para el esquema file:// en donde se permiten tres barras (file:///...). Para cualquier otro esquema, lo anterior es inválido.