Unescape HTML 来自树枝模板上的数据库的字符串
Unescape HTML string from database on twig template
我正在尝试将描述(来自我的数据库的字符串)转换为 HTML。我正在使用 {{ projet.description }}
获取描述,但似乎在 JavaScript 中,"description" 导致我的脚本出现错误...所以我用我的描述创建了一个 div在它上面,让它不可见,然后用 innerHTML
.
得到它
树枝代码
<div id="desc">{{ projet.description }}</div>
<div>
<script type="text/javascript">
var desc = document.getElementById("desc").innerHTML|e('js')|raw;
document.write(desc);
</script>
</div>
CSS
#descr {
display:none;
}
但是现在,document.write()
仍然是returns像“<p><em>POKEMON</em></p>
”这样的字符串。但是,我想要 HTML.
我几乎可以肯定 HTML 被转义了,所以试试看:
<div id="desc">{{ projet.description|raw }}</div>
请参阅 twig 文档上的 raw 过滤器:raw
The raw filter marks the value as being "safe", which means that in an
environment with automatic escaping enabled this variable will not be
escaped if raw is the last filter applied to it
还有:
var desc = document.getElementById("desc").innerHTML|e('js')|raw;
上面的代码片段在 twig 上无效,因为它没有被有效的分隔符包围,例如“{{ }}
”或“{% %}
”。
我正在尝试将描述(来自我的数据库的字符串)转换为 HTML。我正在使用 {{ projet.description }}
获取描述,但似乎在 JavaScript 中,"description" 导致我的脚本出现错误...所以我用我的描述创建了一个 div在它上面,让它不可见,然后用 innerHTML
.
树枝代码
<div id="desc">{{ projet.description }}</div>
<div>
<script type="text/javascript">
var desc = document.getElementById("desc").innerHTML|e('js')|raw;
document.write(desc);
</script>
</div>
CSS
#descr {
display:none;
}
但是现在,document.write()
仍然是returns像“<p><em>POKEMON</em></p>
”这样的字符串。但是,我想要 HTML.
我几乎可以肯定 HTML 被转义了,所以试试看:
<div id="desc">{{ projet.description|raw }}</div>
请参阅 twig 文档上的 raw 过滤器:raw
The raw filter marks the value as being "safe", which means that in an environment with automatic escaping enabled this variable will not be escaped if raw is the last filter applied to it
还有:
var desc = document.getElementById("desc").innerHTML|e('js')|raw;
上面的代码片段在 twig 上无效,因为它没有被有效的分隔符包围,例如“{{ }}
”或“{% %}
”。