正如标题所述,我尝试使用{!! ... !!}
显示HTML代码,HTML代码来自数据库。但是,当代码具有asset('image/my.png')
时,它不会显示图像,否则,它将显示代码asset('image/my.png')
。
如何使用显示图像:
asset('image/my.png')
代码:
<div>
<img src="{{ asset('images/my1.png') }}
{!! <img src="{{ asset('images/my2.png') }}" /> !!}
</div>
但是需要在刀片视图之间附加来自数据库的HTML代码吗?
答案 0 :(得分:1)
{!! !!}
将输出提供的原始字符串,因此不会评估刀片模板。相反,您可以执行以下操作:
//Just to know what we're talking about
$databaseString = "<img src=\"{{ asset('images/my2.png') }}\" />";
$compiled = Blade::compileString($databaseString);
// $compiled = <img src="<?php echo e(asset('images/my2.png')); ?>" />
要显示它,您可以使用:
<div>
{!! eval("?>".$compiled) !!}
</div>
当然,这通常带有从不使用它来运行不受信任的代码
答案 1 :(得分:0)
您可以使用:
<div>
<img src="{{ asset('images/my1.png') }}
$myDatabase = "<img src="{{ asset('images/my2.png') }}" />";
{{html_entity_decode($myDatabase);}}
</div>