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
$_GETpara 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