在PHP中只允许一个或两个连续的回车

在PHP中只允许一个或两个连续的回车,php,regex,preg-replace,Php,Regex,Preg Replace,我被困在一个preg_替换(我想这就是我需要的)Syntax上 我想从多个回车符中清除一个字符串(最多只允许2个回车符,不允许更多。) 因此,这些字符串将保持不变: “一些文本\n一些文本” “一些文本\n\n一些文本\n一些其他文本” 这一个需要改变: “一些文本\n\n\n一些文本” 进入 “一些文本\n\n一些文本” 我想有一个简单的方法可以做到这一点,但我不习惯正则表达式,所以任何帮助都将不胜感激 Romain.您可以使用如下正则表达式: \n\n\n+ 使用替换字符串:

我被困在一个preg_替换(我想这就是我需要的)Syntax上

我想从多个回车符中清除一个字符串(最多只允许2个回车符,不允许更多。)

因此,这些字符串将保持不变:

  • “一些文本\n一些文本”
  • “一些文本\n\n一些文本\n一些其他文本”
这一个需要改变:

  • “一些文本\n\n\n一些文本”
进入

  • “一些文本\n\n一些文本”
我想有一个简单的方法可以做到这一点,但我不习惯正则表达式,所以任何帮助都将不胜感激


Romain.

您可以使用如下正则表达式:

\n\n\n+
使用替换字符串:

\n\n

代码


它们只是换行符还是回车符?我正在数据库(php/mysql)中存储textarea的值。因此,当用户按enter键时,它将作为\n存储在数据库中。我只是想防止用户使用大量连续的返回行,否则显示起来会很烦人。所以,我想。联邦快递的解决方案似乎是可行的works@RomainDerie很乐意帮忙
$re = "/\\n\\n\\n+/"; 
$str = "\"Some text \n some text\"\n\n\"Some text \n\n some text \n some other text\"\n\nSome text \n\n\n some text"; 
$subst = "\n\n"; 

$result = preg_replace($re, $subst, $str);