我有一个用户输入的表格;最近,我遇到了许多带有多个空格的用户输入。 例如。 “我的测试工作正常!” 有什么方法可以摆脱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 !");
答案 0 :(得分:0)
如果输入是实际的空格,并且您想用单个空格替换它们,则可以使用regular expression。
$stripped = preg_replace('/\s+/', ' ', $input);
\s
表示'空白'字符。 +
表示一个或多个。因此,这将替换一个或多个空白字符的每个实例。在$input
中,只有一个空格。请参阅preg_replace()
docs和一个不错的tutorial on regexes。
如果您不想替换真正的空白,而是替换
之类的内容,则可以执行相同操作,但不能使用\s
。请改用:
$stripped = preg_replace('/( )+/', ' ', $input);
请注意括号如何括起
。