blade语法 - laravel5 blade




Laravel 5:使用Blade显示HTML (11)

你可以用很多方式在laravel 5 ..

{!! $text !!}

{!! html_entity_decode($text) !!}

我有一个字符串返回到我的一个视图,如下所示:

$text = '<p><strong>Lorem</strong> ipsum dolor <img src="images/test.jpg"></p>'

我正试图用Blade显示它:

{{$text}}

但是,输出是原始字符串而不是呈现的HTML。 如何在Laravel 5中使用Blade显示HTML?

PS。 PHP echo() 正确显示HTML。



使用 {!! $text !!} {!! $text !!} 显示数据而不转义它。 请确保您不使用来自用户的数据并且尚未清除的数据。


如果条件如下,您可以使用三种方式首先使用

{!! $text !!}

这是第二种方式

<td class="nowrap">
@if( $order->status == '0' )
    <button class="btn btn-danger">Inactive</button>
@else
    <button class="btn btn-success">Active</button>
@endif
</td>

在刀片上使用三元运算符的第三种正确方法

<td class="nowrap">
      {!! $order->status=='0' ? 
          '<button class="btn btn-danger">Inactive</button> : 
          '<button class="btn btn-success">Active</button> !!}
</td>

我希望第三种方法适用于刀片上使用的三元运算符。


它很简单

{!! $text !!}

laravel编译为dom元素, {{$text}} 打印为字符串


对于laravel 5

{!!html_entity_decode($text)!!}

通过此 link 出来,请参阅RachidLaasri的回答


您可以使用 {!! $ text !!}用于在Laravel中呈现HTML代码

{!! $text !!}

如果你使用

{{ $text }}

它不会呈现HTML代码并以字符串形式打印。


我去过那里,这是我的错。 而且非常愚蠢。

如果你忘记了文件名中的.blade扩展名,那个文件不能理解刀片,而是运行php代码。 你应该用

/resources/views/filename.blade.php

代替

/resources/views/filename.php

希望这对某人有所帮助


试试这个,它有效:

@php 
   echo $text; 
@endphp

请用

{!! $test !!} 

只有在HTML的情况下,如果你想渲染数据,刺痛等使用

{{ $test }}

这是因为编译刀片文件时

{{ $test }} 转换为 <?php echo e($test) ?> while

{!! $test !!} {!! $test !!} 转换为 <?php echo $test ?>


这适用于Laravel 5.6

<?php echo "$text"; ?>

以不同的方式

{!! $text !!}

它不会呈现HTML代码并以字符串形式打印。

有关详细信息,请打开链接: - 使用Blade显示HTML