使用Blade转义字符串,呈现HTML

时间:2015-04-20 10:39:19

标签: php laravel laravel-5 blade

我有一个$text变量,其中包含一些文本和HTML代码。我想渲染它的HTML,但仍然要确保字符串的其余部分被转义。

$text = 'Example text with image <img src"image_1.jpg">. More text...'

// This will render the HTML but will NOT escape the string
{!! $text !!}

// This will escape and display the variable as raw string, with no HTML rendering
{{ $text }}

在Laravel 5中,是否有办法在允许HTML的情况下使用Blade转义字符串?

2 个答案:

答案 0 :(得分:1)

我不知道刀片中有这样的功能。您不能只允许特定的HTML标记,因为它们内部可能包含不需要的内容(如onload)。处理字符串可能很棘手。您考虑过标记语言吗?

答案 1 :(得分:0)

在这种情况下,您需要对字符串进行一些手动处理。

Purifier https://github.com/mewebstudio/Purifier可能会做你需要的。它会使字符串无害,然后在其中打印html是安全的。

否则,如果没有找到类似的其他内容,则需要编写自己的解析器。