あじちゃんのブログ。備忘録。

〜SEもOLなんですかね?

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が表示されるので注意.