在textarea中最多允许2个换行符
我想在文本区域中最多允许2个换行符。
我希望在PHP或PHP + JavaScript / jQuery中使用此解决方案。
当用户输入超过2个换行符时,它们将被2个换行符替换。
输入:
0 1 2 3 4
无论我尝试和失败
只做$subject = preg_replace('/\n{2,}/', "\n\n", $subject);
这将捕获两个或更多新行,并用两个换行符替换它。
编辑
如果你想更安全,可以将模式更改为/[\n\r]{2,}/
以捕获回车,但我认为这是不必要的。
试试这个:
$data = "whatever data with \r\n\r\n\r\n more than \r\n two lines \r\n\r\n example"; $fixed_data = preg_replace( "\r\n\r\n([\r\n]+)", "\r\n\r\n", $data); echo $fixed_data; // should output: whatever data with \r\n\r\n more than \r\n two lines \r\n\r\n example
上面的正则表达式替换应该查找两个新行(可选的无限多个新行)并用2个新行替换它们。
🙂
$data = preg_replace('/(\r?\n){3,}/',"\n\n",$data);