[英]PHP regex to condense 4 or more line breaks into 3 line breaks
謝謝你的協助! 我已經在互聯網上進行了搜索,但找不到我要找的答案。
我具有評論功能,但我不希望用戶句子之間的空行超過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
任何幫助是極大的贊賞! 感謝您抽出寶貴時間查看我的問題。 祝你有美好的一天!
您可以使用以下php正則表達式:
$str = preg_replace('/(?:\h*\R){3,}/', '\n\n\n', $str);
此正則表達式匹配使用
(?:\\h*\\R)
:匹配0個或多個水平空格,后跟任何換行符。 (?:...)
適用於非捕獲組。 (?:\\h*\\R){3,}
:匹配3個或更多出現的分組表達式
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.