【问题标题】:Escaping output but allowing <p> in Laravel在 Laravel 中转义输出但允许 <p>
【发布时间】:2014-12-28 04:10:28
【问题描述】:

在我的 Laravel 应用程序中,我允许用户从文本区域存储一些文本。输出文本时,我想转义从数据库中检索到的文本,但还将文本中的任何换行符转换为 &lt;p&gt; 标记。我有一个函数 nl2p() 可以很好地解决这个问题,但是当我将它放在三个括号内时它会被转义,从而破坏了目的:{{{ nl2p($bio) }}}

我试着做这样的事情:

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

但不能将数据回显到这样的变量中。有没有我可能忽略的创造性解决方案?

【问题讨论】:

    标签: php laravel escaping sanitization


    【解决方案1】:

    尝试使用 Laravel 提供的 e() 辅助函数。当您执行三重大括号时,这基本上就是 Blade 在后台调用的内容。
    所以你有:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-09-08
      • 2015-08-29
      • 2011-07-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多