Blade: escaping text and allowing new lines

lesssugar picture lesssugar · Jan 19, 2015 · Viewed 44.5k times · Source

I have a user-input text displayed on one of the pages. I want to allow new lines, though. How do I display the text, so it is escaped AND allows new lines?

I used nl2br() and Blade's tripple brackets {{{$text}}}, however, obviously, the tripple brackets escape <br/> tags as well.

Is there a way to combine escaping and HTML's new lines using Blade?

Thanks.

Answer

lukasgeiter picture lukasgeiter · Jan 19, 2015

You can do the escaping first, using e() and then apply nl2br():

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

e() is the function Blade uses when compiling triple brackets