Laravel 5:显示HTML与刀片Laravel 5:显示HTML与刀片(Laravel 5:

2019-05-10 11:31发布

我有一个字符串返回给我的意见,像这样的:

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

我试图用刀片将其显示:

{{$text}}

但是,输出是一个原始的字符串,而不是呈现的HTML。 我如何在Laravel 5显示带有刀片HTML?

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

Answer 1:

您需要使用

{!! $text !!}

当使用字符串将自动逃跑{{ $text }}



Answer 2:

对于laravel 5

{!!html_entity_decode($text)!!}

通过这个想通了链接 ,看到RachidLaasri答案



Answer 3:

你可以试试这个:

{!! $text !!}

你应该看看: http://laravel.com/docs/5.0/upgrade#upgrade-5.0



Answer 4:

请用

{!! $test !!} 

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

{{ $test }}

这是因为当你的刀片文件编译

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

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



Answer 5:

试试这个。 它为我工作。

{{ html_entity_decode($text) }}

在Laravel刀片模板,{{}}西港岛线逃脱HTML。 如果你想显示视图从控制器的HTML,从字符串解码HTML。



Answer 6:

还有另一种方法。 如果对象的目的是渲染HTML就可以实现\Illuminate\Contracts\Support\Htmlable有合同toHtml()方法。

然后你可以从这样的刀片渲染对象{{ $someObject }}注意,不需要{!! !!}语法)。

此外,如果你想返回的HTML属性,你知道这将是HTML中,使用\Illuminate\Support\HtmlString这样的类:

public function getProductDescription()
{
    return new HtmlString($this->description);
}

然后使用它像{{ $product->getProductDescription() }}

当然,负责在页面上直接呈现原始的HTML。



Answer 7:

您可以使用 {!! $文字!!}用于渲染Laravel HTML代码

{!! $text !!}

如果您使用

{{ $text }}

它不会呈现HTML代码,并打印作为一个字符串。



Answer 8:

您可以在laravel 5多方面做..

{!! $text !!}

{!! html_entity_decode($text) !!}


Answer 9:

使用{!! $text !!} {!! $text !!}没有逃脱它来显示数据。 只要确保你不从用户来了,还没有被清理的数据做到这一点。



Answer 10:

如果你想逃离该数据使用

{{ $html }}

如果不想逃跑的数据使用

{!! $html !!}

但直到Laravel-4,你可以使用

{{ HTML::link('/auth/logout', 'Sign Out', array('class' => 'btn btn-default btn-flat')) }}

当谈到Laravel-5

{!! HTML::link('/auth/logout', 'Sign Out', array('class' => 'btn btn-default btn-flat')) !!} 

您也可以使用PHP函数做到这一点

{{ html_entity_decode($data) }}

经过PHP文件中为这个函数的参数

html_entity_decode - php.net



Answer 11:

这对于Laravel 5.6工作正常

<?php echo "$text"; ?>

以不同的方式

{!! $text !!}

它不会呈现HTML代码,并打印作为一个字符串。

欲了解更多详细信息,打开链接: - 用刀片显示HTML



Answer 12:

你可以做,使用三种方法先用,如果条件像下面

{!! $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>

我希望第三条道路,非常适合在刀片中使用三元运算符。



Answer 13:

它的一个简单

{!! $text !!}

laravel编译为DOM元素和{{$text}}打印作为一个字符串



Answer 14:

对于使用文本区域内的TinyMCE和标记谁:

{{ htmlspecialchars($text) }}


Answer 15:

我一直在那里,这是我的错。 而且非常愚蠢的。

如果忘记文件名.blade扩展,该文件不明白刀片,但运行PHP代码。 您应该使用

/resources/views/filename.blade.php

代替

/resources/views/filename.php

希望这有助于有人



Answer 16:

试试这个,它的工作:

@php 
   echo $text; 
@endphp


文章来源: Laravel 5: Display HTML with Blade