を呼び出した後htmlentities()
、 を呼び出しますnl2br()
。Web ブラウザーは単純な改行文字を無視するため、改行文字を<br />
要素に変換して表示させる必要があります。
nl2br
— 文字列内のすべての改行の前に HTML 改行を挿入します
説明
string nl2br ( string $string [, bool $is_xhtml= true ] )
すべての改行の前に挿入された、<br />
または挿入された
文字列を返します。<br>
例えば:
echo nl2br(htmlentities($input));
二重の改行のみを表示し、単一の改行を無視するには、代わりに、より洗練された文字列置換関数を使用できますpreg_replace
。
echo preg_replace('/\n\s*\n/', "<br />\n<br />\n", htmlentities($input));
ここ'/\n\s*\n/'
では、改行の後に任意の量の空白が続き、その後に別の改行が続きます。<br />
そのような部分文字列を 2 つの要素に置き換えます。単一の改行は無視されます。ユーザーが次のように入力した場合など、目に見えない余分なスペースやタブを無視するので、これも素晴らしいことです。
これは段落です。\n
かなり短いです。\n
<space><tab>\n
ここに別の段落があります。\n
それも短いです。