我使用yml文本文件存储我的Silex / Twig网站的小段文本:
use Symfony\Component\Yaml\Yaml;
$loader = Yaml::parse('/path/to/file.yml');
我的文件如下:
block_2:
id: 2
title: "Title"
body: |
Lore ipsum <strong>legend</strong>
Lore ipsum dolorem etc.
在我的Twig文件中,我显示变量
<p>{{ block.body }}</p>
现在输出与回车不符合预期,并且未正确解析html实体。而是在浏览器中呈现文本
Lore ipsum <strong>legend</strong> Lore ipsum dolorem etc.
如何正确解析html和换行符?
答案 0 :(得分:2)
默认情况下,twig会转义模板的所有输入。这使您的模板非常安全。
但在某些情况下,保存输出原始输入。这可以通过以下四种方式完成:
escape
filter,将其标记为安全的HTML:<p>{{ block.body|escape('html') }}</p>
(最佳解决方案)raw
filter:<p>{{ block.body|raw }}</p>
(如果你确定它是安全的,则有用)autoescape
tag,将其标记为安全的HTML(这可以防止错误的JavaScript在您的代码中出现):{% autoescape 'html' %}<p>{{ block.body }}</p>{% endautoescape %}
(在为同一部分中的多个输入执行时有用)另见文档
中的HTML Escaping