我有一个接受用户输入的表单;最近,我遇到了许多具有多个空白的用户输入。例如:“我的机、工、技术等。有没有办法在PHP级别或MySQL级别上去掉这些空白呢?
到目前为止,我的代码如下:
function noWhiteSpaces($string) {
if (!empty($string)) {
$string = trim($string);
$new_str = str_replace(' ', ' ', $string);
} else {
return false;
}
return $new_str;
}
echo noWhiteSpaces("My tests are working fine here !");
发布于 2015-06-26 21:03:01
如果输入是实际的空白空间,并且希望用单个空格替换它们,则可以使用正则表达式。
$stripped = preg_replace('/\s+/', ' ', $input);
\s
的意思是‘空格’字符。+
的意思是一个或多个。因此,这将用一个空格替换$input
中一个或多个空白字符的每个实例。看看文档,还有一个漂亮的正则表达式教程。
如果您不想替换真正的空白,而是使用
之类的东西,那么您也可以这样做,但不需要使用\s
。用这个代替:
$stripped = preg_replace('/( )+/', ' ', $input);
注意括号是如何将
括起来的。
https://stackoverflow.com/questions/31082046
复制相似问题