Cómo obtener parámetros de una cadena de URL en PHP

Minahil Noor 30 enero 2023
  1. Usa las funciones parse_url() y parse_str() para obtener parámetros de una cadena de URL en PHP
  2. Usar la variable $_GET para obtener los parámetros de una cadena de URL en PHP
Cómo obtener 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

Artículo relacionado - PHP String