Laravel - 显示富文本
Laravel - show rich text
我想在 Laravel 中保存并显示富文本格式。
有很多方法可以做到这一点(用于两个目的)。在我们看来,我们可以使用两个表达式:
{!! $text !!}
{!! html_entity_decode($text) !!}
我知道他们两个都是对的。但第一个有时不起作用(例如,当我想将 WordPress 帖子复制到 Laravel 时)。它们有什么区别?
使用 {{ }}
而不是 {!! !!}
。根据Laravel's documentation:
By default, Blade {{ }}
statements are automatically sent through PHP's htmlspecialchars function to prevent XSS attacks. If you do not want your data to be escaped, you may use the following syntax:
Hello, {!! $name !!}
您可以找到相关文档here。
第一个 $text
没有被解码,第二个被解码。
区别例如:
<b>bold</b>
您的第一个示例将回显这个没有用的确切字符串。
例如
<b>bold</b>
作为字符串文字。这不会呈现为粗体。
第二个例子会将其解码为
<b>bold</b>
将呈现为
bold
然而,这确实需要一个非常大的警告,就像每个要求使用 {!! !!}
的答案一样。
例如,{!! !!}
之间的所有代码都有执行用户放置的随机脚本的危险。请注意这些安全隐患以及您的 $text
.
的来源
有关回显数据的更多信息,请参见 at the laravel documentation.
我想在 Laravel 中保存并显示富文本格式。
有很多方法可以做到这一点(用于两个目的)。在我们看来,我们可以使用两个表达式:
{!! $text !!}
{!! html_entity_decode($text) !!}
我知道他们两个都是对的。但第一个有时不起作用(例如,当我想将 WordPress 帖子复制到 Laravel 时)。它们有什么区别?
使用 {{ }}
而不是 {!! !!}
。根据Laravel's documentation:
By default, Blade
{{ }}
statements are automatically sent through PHP's htmlspecialchars function to prevent XSS attacks. If you do not want your data to be escaped, you may use the following syntax:Hello, {!! $name !!}
您可以找到相关文档here。
第一个 $text
没有被解码,第二个被解码。
区别例如:
<b>bold</b>
您的第一个示例将回显这个没有用的确切字符串。 例如
<b>bold</b>
作为字符串文字。这不会呈现为粗体。
第二个例子会将其解码为
<b>bold</b>
将呈现为
bold
然而,这确实需要一个非常大的警告,就像每个要求使用 {!! !!}
的答案一样。
例如,{!! !!}
之间的所有代码都有执行用户放置的随机脚本的危险。请注意这些安全隐患以及您的 $text
.
的来源
有关回显数据的更多信息,请参见 at the laravel documentation.