如何从句子中删除多余的空格,制表符和换行符,并用一个空格替换它们?

时间:2011-04-04 13:28:00

标签: php regex

  

可能重复:
  remove multiple whitespaces in php

我有一个字符流,一个句子或一个段落,可能有两个单词甚至制表符或换行符中的额外空格,如何删除所有这些并用单个空格替换它们。

1 个答案:

答案 0 :(得分:84)

您可以使用正则表达式,如:

preg_replace("/\s+/", " ", $string);

这应该只用一个替换所有多个空格,制表符和换行符。

Thanks to @ridgerunner有关建议 - 如果您添加'S'学习修饰符,它可以显着加快:

preg_replace('/\s+/S', " ", $string);

'S' helps "non-anchored patterns that do not have a single fixed starting character" - i.e. a character class.