当查询字符串之一是包含PHP中的查询字符串的URL时,如何组成查询字符串?

时间:2014-03-31 11:25:10

标签: php url get query-string

在PHP中,我想通过编写查询字符串来创建GET请求。其中一个查询字符串键值类似于 url = http://www.example.com/a.php?id=xyz&name=def ,其余查询字符串类似于常规键值对。

但是,当我编写它们时,该url将影响整个GET请求。例如,我有常规键值对,例如 site = uts& user = zzz ,我最终会得到如下所示的GET请求

http://domain?url=http://www.example.com/a.php?id=xyz&name=def&site=uts&user=zzz

这是完全错误的。如何在此GET请求中传递url值并避免出现这种情况?

2 个答案:

答案 0 :(得分:0)

您需要使用urlencodeurldecode

答案 1 :(得分:0)

如果我理解你的问题,你会想要使用urlencode。

http://uk1.php.net/manual/en/function.urlencode.php

例如:

$url = 'http://domain?url='.urlencode('http://www.example.com/a.php?id=xyz&name=def').'&site=uts&user=zzz';

将产生:

http://domain?url=http%3A%2F%2Fwww.example.com%2Fa.php%3Fid%3Dxyz%26name%3Ddef&site=uts&user=zz