PHP多个新行

时间:2010-10-29 14:31:25

标签: php regex newline

我有点卡住了。如何使用一个换行删除多行中的多个换行符。最多可以有20个换行符相互关联。例如

詹姆斯打招呼\ n \ n \ n \ n \ n测试\ n测试二\ n \ n

最终会成为:

詹姆斯打招呼\ n测试\ n测试二\ n

4 个答案:

答案 0 :(得分:10)

试试这个:

$str = "Hello\n\n\n\n\nWorld\n\n\nHow\nAre\n\nYou?";
$str = preg_replace("/\n+/", "\n", $str);
print($str);

答案 1 :(得分:4)

改善Marc B的答案:

$fixed_text  = preg_replace("\n(\s*\n)+", "\n", $text_to_fix);

哪个应该与初始换行符匹配,然后至少有一组任意数量的空格后跟换行符,并用一个换行符替换它。

答案 2 :(得分:1)

$fixed_text = preg_replace("\n+", "\n", $text_to_fix);

这应该这样做,假设连续的换行是真正连续的,并且它们之间没有任何空格(制表符,空格,回车等等)。

答案 3 :(得分:0)

$str = 'James said hello\n\n\n\n Test\n Test two\n\n';
echo preg_replace('{(\\\n)\1+}','$1',$str);