逃离输出但允许<;p>;Laravel


Escaping output but allowing <p> in Laravel

在我的Laravel应用程序中,我允许用户从文本区域存储一些文本。当输出文本时,我想转义从DB检索到的文本,但也要将文本中的任何换行符转换为<p>标记。我有一个函数nl2p()可以很好地实现这一点,但当我把它放在三个括号里时,它会被转义,从而破坏了目的:{{{ nl2p($bio) }}}

我试着做这样的事情:

<?php $formatted_bio = {{{ $user->bio }}}; ?>
<h2>{{ nl2p($formatted_bio) }}</h2>

但数据不能被回写到这样的变量中。有什么创造性的解决方案我可能忽略了?

尝试使用Laravel提供的e()辅助函数。当你做三个支架时,这基本上就是Blade在引擎盖下所说的
所以你会有:

<h2>{{ nl2p(e($user->bio)) }}</h2>