我有一个字符串返回到我的一个视图,像这样:
$text = '<p><strong>Lorem</strong> ipsum dolor <img src="images/test.jpg"></p>'
我试图用Blade显示它:
{{$text}}
但是,输出是一个原始字符串,而不是呈现的HTML。我如何显示HTML与刀片在Laravel?
PS. PHP echo()正确显示HTML。
我有一个字符串返回到我的一个视图,像这样:
$text = '<p><strong>Lorem</strong> ipsum dolor <img src="images/test.jpg"></p>'
我试图用Blade显示它:
{{$text}}
但是,输出是一个原始字符串,而不是呈现的HTML。我如何显示HTML与刀片在Laravel?
PS. PHP echo()正确显示HTML。
当前回答
{! !!!不安全。
阅读此处:https://laravel.com/docs/5.6/blade#displaying-data
你可以试试:
@php
echo $variable;
@endphp
其他回答
你需要使用
{!! $text !!}
使用{{$text}}时,字符串将自动转义。
请使用
{!! $test !!}
只有在HTML的情况下,而如果你想呈现数据,sting等使用
{{ $test }}
这是因为在编译刀片文件时
{{$test}}被转换为<?PHP echo e($test) 而
{! !美元的测试! !}被转换为<?PHP echo $test ?>
如果你有时使用Bootstrap折叠类{!!美元的文本! !} 不是为我工作,但{{html_entity_decode($text)}}是为我工作。
{! !!!不安全。
阅读此处:https://laravel.com/docs/5.6/blade#displaying-data
你可以试试:
@php
echo $variable;
@endphp
我去过那里,那是我的错。非常愚蠢的一个。
如果您忘记了文件名中的.blade扩展名,则该文件不理解blade,而是运行PHP代码。你应该使用
/resources/views/filename.blade.php
而不是
/resources/views/filename.php
希望这能帮助到一些人