【发布时间】:2017-02-26 06:46:03
【问题描述】:
我想知道如何限制换行符的数量。我想要做的是“清理”字符串,以便在将其存储到数据库之前,我最多只能连续获得两个换行符。
现在我有这个:
$post->comment = str_replace(array("\r\n", "\r", "\n"), '', $request->input('comment'));
但这会删除所有换行符,我仍然想连续保留一到两个换行符。
Dummy text
(linebreak)
some more text
变成这个 - 仍然有一个换行符
Dummy text
(linebreak)
some more text
和
Dummy text
(linebreak)
(linebreak)
(linebreak)
(linebreak)
(linebreak)
some more text
变成这样 - 最多只显示两个换行符:
Dummy text
(linebreak)
(linebreak)
some more text
【问题讨论】:
-
试试
$post->comment = preg_replace('~(\R{2})\R+~', '$1', $request->input('comment')); -
试试这样:
str_replace(array("\r\n", "\r", "\n"), array('', '', ''), $request->input('comment'));
标签: php string laravel line-breaks sanitization