A simple google search with Laravel nl2br blade would give you many results. But here you go:
{!! nl2br(e($text)) !!}
you first escape the raw value, than you turn the new lines into <br /> tags and you do not render the variable with {{ but with {!! to disable the automatic escaping of blade.
the problem is that the content of the textarea is user-provided content and so I am pretty sure it's a bad idea to disable automatic escaping?
My problem: My preferred wysiwyg-editor saves the text as HTML - so now there are p and br tags I have to handle - but I have to make sure that script or img are still escaped.
@ahoi you don't disable automatic escaping, that is where the e() function is used for in my example. What my example code does is escape everything except the tags created by the nl2br() method. This works perfectly based on your initial question.
But now that you say you do want to render certain tags and some tags not I think the safest way to go is to use HtmlPurifier. With this library you can filter html strings and only allow certain tags and or attributes (for example href, src is allowed but style or target is not allowed)