Dica PHP – Como montar e desmontar URL query string – Trabalhando facilmente com URL query strings.

image_pdfimage_print

É uma tarefa até comum para alguns programadores PHP colocar ou ter que trabalhar com URL query string. Para isto, em geral, utilizam métodos engenhosos para a tarefa, como implode, concatenação, etc. No entanto, desde o lançamento do PHP5, esta tarefa foi facilitada pela adição do método http_build_query, infelizmente ainda pouco conhecido. Abaixo um exemplo de uso:

$dados = array(
    'idioma' => 'pt-BR',
    'q'  => 'Go Drall, GO',
    'testar-escape' => 'acentuação',
);
  
echo http_build_query($dados);
// idioma=pt-BR&q=Go+Drall+GO&testar-escape=acentua%C3%A7%C3%A3o

Caso queira saber sobre as Partes de uma URL e como costumam ser parseadas, basta clicar no link.

Já mais conhecido dos programadores em geral é o trabalho inverso, que também é possível com as funções parse_url e parse_str:
http://devblog.drall.com.br/?s=url&submit=Procurar

$url = parse_url('http://devblog.drall.com.br/?s=php+url&submit=Procurar');
  
parse_str($url['query'], $query);
  
echo $query['s'];
// php url

A função parse_str por padrão extrai as variáveis no escopo em que foi executada. O segundo argumento que informamos no exemplo acima, como variável $query é para ser gerado por referência um resultado com o valor de retorno desejado.

Gostou? Tire um minutinho e dê sua contribuição para Drall Dev Community no Patreon!