Cómo obtener parámetros de una cadena de URL en PHP
-
Usa las funciones
parse_url()
yparse_str()
para obtener parámetros de una cadena de URL en PHP -
Usar la variable
$_GET
para obtener los parámetros de una cadena de URL en PHP
Este artículo introducirá métodos para obtener parámetros de una string
de URL en PHP.
- Usando la función
parse_url()
- Usando la función
parse_str()
- Usando la variable
$_GET
Usa las funciones parse_url()
y parse_str()
para obtener parámetros de una cadena de URL en PHP
Podemos usar las funciones incorporadas parse_url()
y las funciones parse_str()
para obtener parámetros de una URL string
. Estas funciones se usan juntas para obtener los parámetros. La función parse_url
dividirá la URL en diferentes parámetros. Después de eso parse_string
obtendrá el parámetro requerido.
La sintaxis correcta para usar las funciones parse_url()
es la siguiente
parse_url( $url, $component);
La función incorporada parse_url
tiene dos parámetros. Los detalles de sus parámetros son los siguientes
Parámetros | Descripción | |
---|---|---|
$url |
obligatorio | Es la URL de la que queremos obtener el parámetro. |
$component |
opcional | Se utiliza para obtener un componente específico de la URL. |
Esta función devuelve los componentes de una URL. Si nuestra URL no está correctamente formateada, la función puede devolver False
.
La sintaxis correcta para usar la función parse_str()
es la siguiente
parse_str( $string, $result);
La función incorporada parse_str
tiene dos parámetros. Los detalles de sus parámetros son los siguientes.
Parámetros | Descripción | |
---|---|---|
$string |
obligatorio | Es la string de entrada que se convierte en las variables. |
$result |
obligatorio | Si se pasa este parámetro, las variables se almacenan en él. |
Esta función no devuelve nada.
El siguiente programa muestra cómo podemos usar estas funciones para obtener parámetros de una URL string
.
<?php
$url = "https://testurl.com/test/1234?email=abc@test.com&name=sarah";
$components = parse_url($url);
parse_str($components['query'], $results);
print_r($results);
?>
Resultado:
Array
(
[email] => abc@test.com
[name] => sarah
)
Ahora, si queremos obtener el parámetro de correo electrónico solamente, haremos los siguientes cambios en nuestro programa:
<?php
$url = "https://testurl.com/test/1234?email=abc@test.com&name=sarah";
$components = parse_url($url);
parse_str($components['query'], $results);
echo($results['email']);
?>
Resultado:
abc@test.com
También podemos pasar el parámetro $component
a la función parse_url()
.
<?php
$url = "https://testurl.com/test/1234?email=abc@test.com&name=sarah";
$components = parse_url($url, PHP_URL_QUERY);
//$component parameter is PHP_URL_QUERY
parse_str($components, $results);
print_r($results);
?>
Resultado:
Array
(
[email] => abc@test.com
[name] => sarah
)
Usar la variable $_GET
para obtener los parámetros de una cadena de URL en PHP
En PHP, también podemos usar la variable $_GET
para obtener parámetros de una cadena de URL. Es una variable superglobal
, lo que significa que está disponible en todos los ámbitos. Esta variable obtiene los datos, es decir, la URL, de un formulario HTML.
Asumiendo que el URL del formulario es https://testurl.com/test/1234?email=abc@test.com&name=sarah
. El programa que usa esta variable para obtener los parámetros de un URL string
es el siguiente.
<?php
echo $_GET['email'] . $_GET['name']
?>
Resultado:
abc@test.com
sarah