私は、訪問者によって投稿されたメッセージを表示するだけの PHP で単一のサービング サイトを開発しています (理想的には Web サイトのトピックを囲んでいます)。誰でも 1 時間に最大 3 件のメッセージを投稿できます。
Web サイトは 1 ページだけになるので、各メッセージの縦方向の長さを制御したいと考えています。ただし、元のメッセージの改行を少なくとも部分的に保持したいと考えています。妥協点は 2 つの改行を許可することですが、2 つを超える場合は、合計 2 つの改行に置き換えます。スタック オーバーフローはこれを実装します。
例えば:
Porcupines\nare\n\n\n\nporcupiney.
に変更されます
Porcupines<br />are<br /><br />porcupiney.
改行をチェックする際の注意が必要な側面の 1 つは、改行が収集され\r\n
、 、\r
、またはとして保存される可能性があること\n
です。を使ってすべての改行を<br />
sに変換することを考えましnl2br()
たが、それは不要のようでした。
私の質問: PHP で正規表現を使用して (preg_match()
およびのような関数を使用preg_replace()
)、2 つ以上の改行が連続して存在するインスタンスをチェックし (空白スペースの有無にかかわらず)、それらを合計 2 つの改行に変更するにはどうすればよいですか? ?