php替换%20

时间:2011-02-04 06:50:53

标签: php sql

我努力尝试使用$ _GET搜索我的系统 所以当用户复制结果http://localhost/search?q=iphone%204

的地址链接时

如何重命名%20使用+同时,在查询sql时,它会搜索'iphone 4'而不是'iphone + 4'。

任何想法?

感谢

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')