テクニカル雑記帳です
view内での改行の出力
mysqlを使っていると、改行は\r\n
で登録されます.
これをviewでそのまま出力({{ $value['str'] }}
)すると、改行されずに表示されます.
改行をするには以下の対応が必要です.
{!! nl2br($value['str']) !!}
{!! ~~ !!}
bladeで、変数などを埋め込む時に使うタグ.{{ 値・式・変数・関数など }}
:HTMLエスケープ処理される{!! 値・式・変数・関数など !!}}
:HTMLエスケープ処理されない
という風になっているので、HTMLタグをタグとして使いたい場合は2番目の{!! !!}
を使うとよい.
nl2br()
string に含まれるすべての改行文字 (\r\n、 \n\r、\n および \r) の前に <br /> あるいは <br> を挿入して返します。
PHP マニュアル>関数リファレンス>テキスト処理>文字列>String 関数
<?php
echo nl2br("プレーンな味わいの中に\r\n発行の風味が活きる\r\nソーダ クラッカー");
// [出力]
// プレーンな味わいの中に
// 発行の風味が活きる
// ソーダ クラッカー
⚠️ nl2br()を使っても、中の文字列をシングルコーテーション(’)でくくると変換されず、\r\nが表示されるので注意.