我试着用一个空格替换多个空格。当我使用ereg_replace时,我得到一个关于它已弃用的错误。

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

有相同的替代品吗?我需要用一个空格替换多个“”空格和多个nbsp空格。


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

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

来自正则表达式基本语法参考:

\d, \w和\s 简写字符类匹配 数字,单词字符(字母, 数字和下划线) 空格(空格、制表符和行) 优惠)。可以在室内使用吗 在字符类之外。


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

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

s是[\t\n\r]的缩写。多个空格将被单个空格取代。