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

Kum*_*mar 26 php regex

可能重复:
删除php中的多个空格

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

jer*_*oen 87

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

preg_replace("/\s+/", " ", $string);
Run Code Online (Sandbox Code Playgroud)

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

感谢@ridgerunner的建议 - 如果你添加了'S'学习修饰符,它会明显加快:

preg_replace('/\s+/S', " ", $string);
Run Code Online (Sandbox Code Playgroud)

'S' 帮助"没有单一固定起始字符的非锚定模式" - 即一个字符类.

  • +1如果你希望它运行得更快,添加''S'`_study_修饰符:`'/\s +/S'`.(`'S''帮助_"非锚定模式,没有一个固定的起始字符"_ - 即一个字符类.) (10认同)