用一个换行符替换两个以上换行符

时间:2014-11-30 14:52:58

标签: php regex preg-replace

我需要用一次中断替换用户输入中的两个以上换行符,这也必须适用于所有操作系统。我在SO上使用一些例子汇总的代码如下:

$post_desc = preg_replace("/[\r\n]+/", "\n", $post_desc);
$post_desc = nl2br($post_desc);

但是这只是用一个单行替换每个换行符,即使它不止一个意味着我需要它来将多个换行符替换为一个换行符。目标是将段落显示为段落,并在单个段落中替换段落之间的多个换行符。

请指导。

2 个答案:

答案 0 :(得分:1)

([\r\n]){2,}

$1尝试此替换。这只会替换超过2的换行符。

答案 1 :(得分:1)

不是替换重复的换行符,而是在用<br>替换所有换行符后,为什么不一步完成:

$post_desc = preg_replace('/\R+/', '<br>', $post_desc);
相关问题