如何使用PHP删除重复的断行

dex*_*vip 6 php regex

我想知道如何使用PHP删除重复的断行,考虑到输入可以来自各种操作系统.

输入例:"02 02 02 02\r \n\r \n 02 02 02 02\r \n 02 02 02 02"

输入例:"02 02 02 02 \n \n \n 02 02 02 02 \n \n 02 02 02 02"

产出例:"02 02 02 02 \n 02 02 02 02 \n 02 02 02 02"

Mar*_*ers 16

你可以使用preg_replace:

$s = preg_replace("/[\r\n]+/", "\n", $s);
Run Code Online (Sandbox Code Playgroud)

看到它在线工作:ideone


M-A*_*A-X 5

更快的是只替换 2+ 个换行符 :) :

$s = preg_replace("/([\r\n]{4,}|[\n]{2,}|[\r]{2,})/", "\n", $s);
Run Code Online (Sandbox Code Playgroud)