我需要用一次中断替换用户输入中的两个以上换行符,这也必须适用于所有操作系统。我在SO上使用一些例子汇总的代码如下:
$post_desc = preg_replace("/[\r\n]+/", "\n", $post_desc);
$post_desc = nl2br($post_desc);
但是这只是用一个单行替换每个换行符,即使它不止一个意味着我需要它来将多个换行符替换为一个换行符。目标是将段落显示为段落,并在单个段落中替换段落之间的多个换行符。
请指导。
答案 0 :(得分:1)
([\r\n]){2,}
请$1
尝试此替换。这只会替换超过2
的换行符。
答案 1 :(得分:1)
不是替换重复的换行符,而是在用<br>
替换所有换行符后,为什么不一步完成:
$post_desc = preg_replace('/\R+/', '<br>', $post_desc);