摆脱php或mysql中的多个空格

时间:2015-06-26 20:58:10

标签: php mysql

我有一个用户输入的表格;最近,我遇到了许多带有多个空格的用户输入。 例如。 “我的测试工作正常!” 有什么方法可以摆脱PHP级别或MySQL级别的这些空白区域吗?

  1. 显然修剪在这里不起作用。
  2. 我正在考虑使用递归函数,但不确定是否有一种简单快捷的方法。
  3. 我的代码到目前为止如下:

    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       !");
    

1 个答案:

答案 0 :(得分:0)

如果输入是实际的空格,并且您想用单个空格替换它们,则可以使用regular expression

$stripped = preg_replace('/\s+/', ' ', $input);

\s表示'空白'字符。 +表示一个或多个。因此,这将替换一个或多个空白字符的每个实例。在$input中,只有一个空格。请参阅preg_replace() docs和一个不错的tutorial on regexes

如果您不想替换真正的空白,而是替换 之类的内容,则可以执行相同操作,但不能使用\s。请改用:

$stripped = preg_replace('/( )+/', ' ', $input);

请注意括号如何括起