Como obter parâmetros de uma string de URL em PHP
-
Utilize
parse_url()
eparse_str()
Funções para obter parâmetros de uma String de URL em PHP -
Utilize
$_GET
Variável para obter os 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