Php 从数据库表呈现HTML以查看刀片问题
我从数据库表中呈现一些html内容时遇到了问题。我有一个函数,它从数据库表调用并返回一些html内容,当我使用{{}双花括号时,它在页面上显示内容,但作为纯文本而不是作为html呈现。在我尝试使用{!!!!}之后,它在页面上不会显示任何内容。我不明白为什么,这种情况下的解决方案是什么。我的刀片页面还包含.blade扩展名 请给我一些建议Php 从数据库表呈现HTML以查看刀片问题,php,laravel-5,Php,Laravel 5,我从数据库表中呈现一些html内容时遇到了问题。我有一个函数,它从数据库表调用并返回一些html内容,当我使用{{}双花括号时,它在页面上显示内容,但作为纯文本而不是作为html呈现。在我尝试使用{!!!!}之后,它在页面上不会显示任何内容。我不明白为什么,这种情况下的解决方案是什么。我的刀片页面还包含.blade扩展名 请给我一些建议 $string = "<h1>Its H1 Tag</h1>"; {{ $string }} $string=“
$string = "<h1>Its H1 Tag</h1>";
{{ $string }}
$string=“它的H1标签”;
{{$string}}
显示未扫描的数据
默认情况下,Blade{{}语句通过PHP的htmlentities函数自动发送,以防止XSS攻击。如果不希望转义数据,可以使用以下语法:
你好,{!!$name!!}
如果上述方法无效,则使用以下方法,但这不是一个好的做法-
在您的情况下您可以使用htmlentities($string),html\u entity\u decode($string)对数据进行解码,然后使用{{$string}呈现html。如果上述代码不起作用,也可以通过以下代码显示
@php
echo $string;
@endphp
对于Laravel版本5.6.*或更高版本,请使用单花括号
$string=“它的H1标签;
{!!$string!!}
为什么首先要将HTML代码存储在数据库中?字符串末尾缺少一个引号。这是在此处复制时输入错误还是字符串有问题?
$string = "<h1>Its H1 Tag</h1>;
{!! $string !!}