如何在查询字符串中添加URL?

时间:2013-09-29 11:56:41

标签: php parameters get query-string

我的PHP脚本有一个小问题。我希望能够在查询字符串中包含一个URL,所以它看起来像这样:

http://example.com/?url=http://google.com/

这非常正常,$_GET['url']将返回http://google.com

问题是我的查询字符串中的URL已经有查询字符串,例如:

http://example.com/?url=http://www.amazon.com/MP3-Music-Download/b/ref=sa_menu_mp3_str?ie=UTF8&node=163856011

将返回:

http://www.amazon.com/MP3-Music-Download/b/ref=sa_menu_mp3_str?ie=UTF8

我希望它返回:

http://www.amazon.com/MP3-Music-Download/b/ref=sa_menu_mp3_str?ie=UTF8&node=163856011

我在服务器端使用PHP。

有人可以帮忙吗?

更新

我正在使用Codeigniter,所以如果这就是为什么它不能正常工作的原因请告诉我。

2 个答案:

答案 0 :(得分:3)

您需要对作为查询参数传递的url进行编码:

  • 如果您是从PHP发送的,请使用urlencoderawurlencode
  • 如果您从JS发送,请使用encodeURIComponent

答案 1 :(得分:1)

使用urldecode()传递查询字符串