【发布时间】:2012-09-07 10:04:47
【问题描述】:
我希望使用正则表达式删除多个换行符。假设我有这个文本:
"On the Insert tab\n \n\nthe galleries include \n\n items that are designed"
那我想换成
"On the Insert tab\nthe galleries include\nitems that are designed"
所以我的要求是:
- 它将删除所有多个换行符并替换为一个换行符
- 它将删除所有多个空格并替换为一个空格
- 空格也会被修剪
我确实搜索了很多,但找不到解决方案 - 我得到的最接近的是Removing redundant line breaks with regular expressions。
【问题讨论】:
-
这是你的空间部分:: stackoverflow.com/questions/2368539/…
-
@Sudhir 我可以删除多个空格,但我也需要删除多个换行符。
-
@ARIFMAHMUDRANA 以下是该技术的概要: 1) 修剪字符串。 2) 找出所有多于一个空白字符的块。 3) 对它们进行迭代,如果块包含
\n字符,则将其替换为单个\n,否则将其替换为单个空格。最简单的方法是使用preg_replace_callback()。我什至会免费为您提供所需的正则表达式:/\s+/。尝试自己实现它,如果你不能正确地展示你的想法,那么我们可以帮助你看看哪里出了问题。 -
@Sudhir 是否适用于换行符之间的空格?
标签: php regex whitespace removing-whitespace