Como obter parâmetros de uma string de URL em PHP

Minahil Noor 30 janeiro 2023
  1. Utilize parse_url() e parse_str() Funções para obter parâmetros de uma String de URL em PHP
  2. Utilize $_GET Variável para obter os parâmetros de uma String de URL em PHP
Como obter parâmetros de uma string de URL em PHP

Este artigo introduzirá métodos para obter parâmetros de uma URL string em PHP.

  • Utilizando a função parse_url()
  • Utilizando a função parse_str()
  • Utilizando $_GET variável

Utilize parse_url() e parse_str() Funções para obter parâmetros de uma String de URL em PHP

Podemos utilizar as funções embutidas parse_url() e parse_str() para obter parâmetros de uma URL string. Estas funções são utilizadas em conjunto para obter os parâmetros. A função parse_url dividirá a URL em diferentes parâmetros. Depois disso, a função parse_string obterá o parâmetro requerido.

A sintaxe correta para utilizar as funções parse_url() é a seguinte

parse_url( $url, $component);

A função integrada parse_url tem dois parâmetros. Os detalhes de seus parâmetros são os seguintes

Parâmetros Descrição
$url obrigatório É o URL do qual queremos obter parâmetro.
$component opcional Ele é usado para obter um componente URL específico.

Esta função retorna os componentes de uma URL. Se nossa URL não for formatada corretamente, a função pode retornar False.

A sintaxe correta para utilizar a função parse_str() é a seguinte

parse_str( $string, $result);

A função integrada parse_str tem dois parâmetros. Os detalhes de seus parâmetros são os seguintes.

Parâmetros Descrição
$string obrigatório É a entrada string que é convertida para as variáveis.
$result obrigatório Se este parâmetro for passado, as variáveis são armazenadas nele.

Esta função não retorna nada.

O programa abaixo mostra como podemos utilizar estas funções para obter parâmetros de uma 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
)

Agora, se quisermos obter apenas o parâmetro de e-mail, faremos as seguintes mudanças em nosso 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

Também podemos passar o parâmetro $component para a função 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
)

Utilize $_GET Variável para obter os parâmetros de uma String de URL em PHP

Em PHP, também podemos utilizar a variável $_GET para obter parâmetros a partir de uma string de URL. É uma variável superglobal, o que significa que ela está disponível em todos os escopos. Esta variável obtém os dados, ou seja, URL, a partir de um formulário HTML.

Assumindo que a URL do formulário seja https://testurl.com/test/1234?email=abc@test.com&name=sarah. O programa que utiliza esta variável para obter parâmetros de uma URL string é o seguinte.

<?php 
echo $_GET['email'] . $_GET['name']
?> 

Resultado:

abc@test.com
sarah

Artigo relacionado - PHP String