我有点卡住了。如何使用一个换行符删除连续的多个换行符。最多可以有20条换行符相邻。例如PHP多个新行
詹姆斯说你好\ n \ n \ n \ n测试\ n测试二\ n \ n
竟又为:
詹姆斯说你好\ N个测试\ n测试二\ ñ
我有点卡住了。如何使用一个换行符删除连续的多个换行符。最多可以有20条换行符相邻。例如PHP多个新行
詹姆斯说你好\ n \ n \ n \ n测试\ n测试二\ n \ n
竟又为:
詹姆斯说你好\ N个测试\ n测试二\ ñ
试试这个:
$str = "Hello\n\n\n\n\nWorld\n\n\nHow\nAre\n\nYou?";
$str = preg_replace("/\n+/", "\n", $str);
print($str);
$fixed_text = preg_replace("\n+", "\n", $text_to_fix);
这应该这样做,假定连续换行是真正连续的,并且没有任何空格之间(制表符,空格,回车等)。
$str = 'James said hello\n\n\n\n Test\n Test two\n\n';
echo preg_replace('{(\\\n)\1+}','$1',$str);
提高对马克·B的回答:
$fixed_text = preg_replace("\n(\s*\n)+", "\n", $text_to_fix);
这应该与初始换行,那么至少一组空白的任何量的一个然后换行,并用一个换行符替换它。