我努力尝试使用$ _GET搜索我的系统 所以当用户复制结果http://localhost/search?q=iphone%204
的地址链接时如何重命名%20使用+同时,在查询sql时,它会搜索'iphone 4'而不是'iphone + 4'。
任何想法?
感谢
答案 0 :(得分:6)
用+
替换%20$url = str_replace("%20", "+", $url);
要将加号更改为查询空间:
$url = urldecode($url);
答案 1 :(得分:5)
使用urlencode
进行编码。解码将自动进行,您只需要从$_GET
读取值。
答案 2 :(得分:2)
使用“%2B”对您的“+”进行编码。 或使用rawurldecode而不是urldecode。如果这不是您所需要的,请提供一些代码,以便我更具体。
答案 3 :(得分:1)
如果您只使用$_GET
数组,则无需对其进行解码:http://ca.php.net/manual/en/reserved.variables.get.php
如果您使用您提到的链接,则可以使用echo $_GET['q']
访问查询,结果为iphone 4
,然后您可以使用explode(' ', $_GET['q'])
,这会产生array('iphone', '4')
。