感谢您的帮助!我已经在互联网上搜索了所有内容,但找不到我想要的答案。
我具有评论功能,但我不希望用户句子之间的空行超过2条。示例:
1st Line - 1 break
2nd Line - 2 breaks
3rd Line - 3 breaks
4th Line - 4 breaks
5th Line - 5 breaks
6th Line
应该凝结为:
1st Line - 1 break
2nd Line - 2 breaks
3rd Line - 3 breaks
4th Line - 4 breaks
5th Line - 5 breaks
6th Line
该解决方案还需要删除由空格和制表符包围的换行符,以使用户无法绕过换行符冷凝。
我尝试了以下操作,但最终只删除了所有换行符,除了句子后的换行符:
$text = preg_replace("/(\s*\R\s*)/", "\n", $text);
$text = preg_replace("/\R{3,}/", "\n\n\n", $text);
Results in:
1st Line - 1 break
2nd Line - 2 breaks
3rd Line - 3 breaks
4th Line - 4 breaks
5th Line - 5 breaks
6th Line
任何帮助将不胜感激!感谢您抽出宝贵时间查看我的问题。祝你有美好的一天!
答案 0 :(得分:0)
您可以使用此php正则表达式:
$str = preg_replace('/(?:\h*\R){3,}/', '\n\n\n', $str);
此正则表达式使用匹配
(?:\h*\R)
:匹配0个或多个水平空格,后跟任意换行符。 (?:...)
适用于非捕获组。(?:\h*\R){3,}
:匹配3个或更多出现的分组表达式