php 用单个空格替换多个空格

我正在尝试用单个空格替换多个空格。当我使用 时,我收到一个关于它被弃用的错误。ereg_replace

ereg_replace("[ \t\n\r]+", " ", $string);

有没有相同的替代品。我需要将多个空格和多个空格替换为单个空格。" "nbsp


答案 1

使用 preg_replace() 而不是使用 :[ \t\n\r]\s

$output = preg_replace('!\s+!', ' ', $input);

正则表达式基本语法参考

\d、\w 和 \s

匹配数字、单词字符(字母、数字和下划线)和空格(空格、制表符和换行符)的速记字符类。可以在字符类内部和外部使用。


答案 2
$output = preg_replace('/\s+/', ' ',$input);

\s是 的简写。多个空格将替换为单个空格。[ \t\n\r]


推荐