【发布时间】:2012-08-16 00:53:41
【问题描述】:
假设我请求这个 URL:
http://mydomain.com/script.php?var=2+2
$_GET['var'] 现在将是:“2 2”,应该是“2+2”
显然我可以在发送之前对数据进行编码然后对其进行解码,但我想知道这是否是唯一的解决方案。我也可以用加号替换空格,但我也想允许空格。我只是想要传递任何字符,而不需要进行任何 url 解码或编码。谢谢!
【问题讨论】:
-
你可以抓住
$_SERVER["QUERY_STRING"]- 我认为这会给你原始文本? -
为什么不进行 url 编码?方法是 url 编码,所以它看起来像 var=2%202 (其中 20 是一个数字,它将是表示符号 + 的实数)。并且php内置了解码功能!
-
我不想编码的原因是,我想要更漂亮的 URL。在我的网站上,URL 位于 URL 中。例如mydomain.com/url?url=http://google.com 看起来比 mydomain.com/url?url=http%3a%2f%2fgoogle.com%2f 好(我试过 mydomain.com/url/http://google.com 但我可以让它工作 - 它破坏了 mod_rewrite 并由于某种原因导致错误)