我正在尝试用一个空格替换多个空格。当我使用ereg_replace
时,我收到有关它被弃用的错误。
ereg_replace("[ \t\n\r]+", " ", $string);
是否有相同的替代品。我需要用一个空格替换多个" "
空格和多个nbsp
空格。
答案 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)