2012-12-29 30 views
3

当用户输入空格或输入栏中没有任何内容时,加号+仍然会传递到我的php后端。我想删除一个词前后的所有加号(例如,从'+++ school ++'返回'school')。我看到php有一些很好的功能,比如strip_tag,但我不确定我应该在这种情况下使用什么。还是有配置它(也许通过JavaScript?),使那些毫无意义的空间/ +甚至不会进入查询字符串的方式从查询字符串中删除加号php

回答

3

您可以使用:?

$input = trim(urldecode($input)); 

其中$输入是其中一个后置参数,例如:$input = $_POST["query"]; //如果查询是POST参数

编辑:使用urldecode的另一个优点是它需要注意所有其他已编码的非字母数字字符。

来源:http://php.net/manual/en/function.urldecode.php

+2

+1这是正确的答案。尽管你可能希望'trim(urldecode($ input))'去除多余的空格。 –

+0

不错 - 你的澄清是绝对正确的。 – ajacian81

+0

** - 1 **查询字符串通过'$ _GET'来处理,它已经处理了url解码。 – Eric

-1
$str = '++school++'; 
return trim(urldecode($str) 
+0

@ ajacian81 OP想要从他的输入中删除所有的''+,urldecode如果我没有错误简单地解码它的空间..显然肮脏的OP输入 – slier

0

+在查询字符串变成$_GET的空间。您只需修剪前后空格即可。

trim($_GET['param'])