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

时间:2010-03-03 03:23:13

标签: php regex formatting string-formatting ereg-replace

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

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

是否有相同的替代品。我需要用一个空格替换多个" "空格和多个nbsp空格。

3 个答案:

答案 0 :(得分:362)

使用preg_replace()代替[ \t\n\r]使用\s

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

来自Regular Expression Basic Syntax Reference

  

\ d,\ w和\ s

     

速记字符类匹配   数字,字符(字母,   数字和下划线),和   空格(空格,制表符和线条)   休息时间)。可以在里面使用   外面的人物类。

答案 1 :(得分:41)

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

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

答案 2 :(得分:37)

preg_replace("/[[:blank:]]+/"," ",$input)