0

我的 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,所以如果这是它无法正常工作的原因,请告诉我。

4

2 回答 2

3

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

  • 如果您从 PHP 发送它,请使用urlencoderawurlencode.
  • 如果从 JS 发送,请使用encodeURIComponent.
于 2013-09-29T12:01:00.250 回答
1

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

于 2013-09-29T12:03:28.027 回答