【问题标题】:I save blade template with variable in database, how to render the variable?我将带有变量的刀片模板保存在数据库中,如何呈现变量?
【发布时间】:2022-01-14 08:14:53
【问题描述】:

我在数据库中保存带有变量的纯 HTML,像这样

<div>
        <span>Nomor: <strong>{{ $pen->nomor_sertifikat ?? "" }}</strong></span>
        <span>
            Nilai: <strong>Rp{{ number_format($pen->nilai_pen,0,',','.')}} 
            </strong>
        </span>
</div>

当我在 laravel Blade 中调用数据库中的数据时,{!! $data->content !!},结果是这样的

Nomor:{{ $pen->nomor_sertifikat }} Nilai: Rp{{ number_format($pen->nilai_pen,0,',','.')}}

{{ }} 内的数据无法呈现。如何解决?

【问题讨论】:

  • 不存入数据库? Blade 不会在另一个 Blade 标签内渲染一个 Blade 标签。 {!! !!} 只是防止里面的数据首先通过htmlspecialchars运行,并不意味着里面的任何Blade标签也会被渲染。
  • 感谢您的建议@GilesBennett

标签: php laravel laravel-8 laravel-blade


【解决方案1】:

使用

 <?= (which you want to input ) ?> 

<?php echo  (which you want to input ) ?>

但是你需要小心 xss。你可以使用htmlpurifier

【讨论】:

    猜你喜欢
    • 2014-12-08
    • 1970-01-01
    • 2017-11-08
    • 1970-01-01
    • 2020-08-21
    • 2019-06-25
    相关资源
    最近更新 更多