Laravel - 显示丰富的文字

时间:2018-01-11 19:00:09

标签: html laravel laravel-5 blade laravel-blade

我希望在Laravel中保存并显示丰富的文字 有很多方法可以做到这一点(两个目的)。在我们看来,我们可以使用两个表达式:

  1. {!! $text !!}
  2. {!! html_entity_decode($text) !!}
  3. 我知道他们俩都是对的。但有时候第一个不起作用(例如当我想将WordPress的帖子复制到Laravel时)。他们之间有什么区别?

2 个答案:

答案 0 :(得分:2)

使用{{ }}代替{!! !!}。根据{{​​3}}:

  

默认情况下,Blade {{ }}语句会自动通过PHP的htmlspecialchars函数发送,以防止XSS攻击。如果您不希望转义数据,可以使用以下语法:   Hello, {!! $name !!}

答案 1 :(得分:1)

您可以找到相关文档here

第一个$text没有被解码,秒就是。

区别在于:

<b>bold</b>

你的第一个例子将回显这个没用的精确字符串。 例如

  

&LT b取代;粗体< / B个

作为字符串文字。这不会呈现为粗体。

第二个例子将此解码为

<b>bold</b>

将呈现为

  

粗体

然而,这确实需要一个非常大的警告,每个答案要求使用{!! !!}{!! !!}之间的所有代码都有执行用户放置的随机脚本的危险。请注意这些安全隐患以及$text的来源 有关回显数据的更多信息可以在at the laravel documentation找到。