Лезвие: экранирование текста и разрешение новых строк


У меня есть текст, введенный пользователем, отображаемый на одной из страниц. Однако я хочу разрешить новые строки. Как мне отобразить текст, чтобы он был экранирован И допускал новые строки?

Я использовал nl2br() и тройные скобки Блейда {{{$text}}}, однако, очевидно, что тройные скобки также избегают тегов <br/>.

Есть ли способ объединить экранирование и новые строки HTML с помощью блейда?

Спасибо.

Author: lesssugar, 2015-01-19

3 answers

Вы можете сначала выполнить экранирование, используя e(), а затем применить nl2br():

{{ nl2br(e($text)) }}

e() является ли функция, используемая Блейдом при компиляции тройных скобок

 84
Author: lukasgeiter, 2015-01-19 14:53:29

Вы можете использовать это

{!! nl2br(e($text)) !!}
 41
Author: Salar, 2016-08-21 17:42:47

Вы можете попробовать:

{!! 'first line <br> second line' !!}

Выход

first line
second line

И

{!! nl2br(e('first line <br> second line')) !!}

Выход

first line <br> second line
 0
Author: UWU_SANDUN, 2018-05-21 10:39:29