【HTML/PHP】nl2br関数を使って、改行コード(\n)を変換(<br>)して改行させる

もくじ

改行コード

DBなどに格納している改行コードが\nの場合、それを単純に取得して表示しようとすると改行されません。

ただし<br>で登録されていたら改行されるようです。

nl2br関数

nl2br()を使って変換できます。

たとえば、 Laravelのコントローラーでデータを持たせ渡します。

$data = "明日は\n運動会";

nl2br関数使わない

<p>{!! $data !!}</p>

f:id:bonoponz:20200930161414p:plain

改行されません。

nl2br関数使う

<p>{!! nl2br($data) !!}</p>

f:id:bonoponz:20200930161444p:plain

改行されました。

エスケープさせない

Laravelの書き方になりますが、HTMLを認識してもらうためにエスケープしないようにする必要があります。

bonoponz.hatenablog.com

仮にエスケープしないと、HTMLタグのまま表示されます。

<p>{{ nl2br($data) }}</p>

f:id:bonoponz:20200930161750p:plain

参考URL

PHPで改行コードをbrタグへ変換する方法を現役エンジニアが解説【初心者向け】 | TechAcademyマガジン