Php 如何将Laravel(5.2)isset与包含变量的href一起使用?
我试图在我的刀片视图中使用Php 如何将Laravel(5.2)isset与包含变量的href一起使用?,php,laravel,laravel-5.2,laravel-blade,Php,Laravel,Laravel 5.2,Laravel Blade,我试图在我的刀片视图中使用isset(),如果设置了该值,则显示包含变量值的href 我正在使用{!!!!}使其工作,但是URL中的{{}}显示为原始HTML。这是可以理解的,但不是我需要的 {!! isset($scenario->bpmn) ? '<a href="{{ url($scenario->bpmn) }}" target="_blank"><i class="fa fa-file-image-o" aria-hidden="true"><
isset()
,如果设置了该值,则显示包含变量值的href
我正在使用{!!!!}
使其工作,但是URL中的{{}}
显示为原始HTML。这是可以理解的,但不是我需要的
{!! isset($scenario->bpmn) ? '<a href="{{ url($scenario->bpmn) }}" target="_blank"><i class="fa fa-file-image-o" aria-hidden="true"></i></a>' : '' !!}
{!!isset($scenario->bpmn)?“”:“”!!}
有办法做到这一点吗?我们不能在另一个表达式中嵌套
{…}
或{!!…!!}
表达式,因为Blade会将它们重写为类似于以下(简化)示例的输出语句:
这避免了使用未越界的
{!!…!!}
输出,如果$scenario->bpmn
包含用户输入,则该输出有助于防止XSS攻击。对于我来说,使用@if
指令的唯一合理方法如下:
@if (isset($scenario->bpmn))
<a href="{{ url($scenario->bpmn) }}" target="_blank"><i class="fa fa-file-image-o" aria-hidden="true"></i></a>
@endif
@if(isset($scenario->bpmn))
@恩迪夫
如果您查看文件内容,也会更容易阅读所有好的答案,但这正是后面的内容。非常感谢!
{!! isset($scenario->bpmn) ? '<a href="' . url($scenario->bpmn) . '">...</a>' : '' !!}
@if (isset($scenario->bpmn))
<a href="{{ url($scenario->bpmn) }}">...</a>
@endif
@if (isset($scenario->bpmn))
<a href="{{ url($scenario->bpmn) }}" target="_blank"><i class="fa fa-file-image-o" aria-hidden="true"></i></a>
@endif