我想把多个空格替换成一个空格。当我使用ereg_replace
时,出现了已过时的错误。
ereg_replace("[ \t\n\r]+", " ", $string);
有没有相同的替代方案。我需要用单个空格替换多个" "
空格和多个nbsp
空格。
我想把多个空格替换成一个空格。当我使用ereg_replace
时,出现了已过时的错误。
ereg_replace("[ \t\n\r]+", " ", $string);
有没有相同的替代方案。我需要用单个空格替换多个" "
空格和多个nbsp
空格。
使用preg_replace()
,而不是[ \t\n\r]
,使用\s
:
$output = preg_replace('!\s+!', ' ', $input);
\d,\w和\s
简写字符类匹配数字、单词字符(字母、数字和下划线)和空白符(空格、制表符和换行符)。可以在字符类内外使用。
$output = preg_replace('/\s+/', ' ',$input);
\s
是[ \t\n\r]
的简写。多个空格将被替换为单个空格。
preg_replace("/[[:blank:]]+/"," ",$input)
/(?:\s\s+|\n|\t)/
=> 1410(最慢),/\s+/
=> 611(还行),/\s\s+/
=> 496(最快)。最后一个不会替换单个的\n
或\t
,但对于我的情况来说这没问题。 - Frunsimb_ereg_replace
doc。 - gondo