And*_*ira 9 javascript template-engine nunjucks
我有一个注释ajax调用返回发布的注释的数据,我还内置了@mention功能,服务器端正在处理@mentions并对提到的用户做一个str_replace用响应中的一个标签替换他们的名字,例如:
{
data: {
comment: "<a href=\"profile/derp\">Username</a> hey what's up"
}
}
Run Code Online (Sandbox Code Playgroud)
但是我似乎无法在文档中找到如何允许nunjucks将其打印为实际的HTML,它会将其转义并显示代码而不是让它成为真正的标记.
有谁知道如何将其打印为实际标签?
谢谢
And*_*ira 40
好吧,我发布后我几乎立即找到了答案!对于任何其他人来说,只是这个; 在您打印变量的模板中添加安全过滤器,这将禁用自动转义.
{{ comment.content|safe }}
Run Code Online (Sandbox Code Playgroud)
虽然这意味着它易受XSS注入攻击,但请确保在服务器端添加保护.
您可以考虑传递评论的元数据并让模板创建 HTML:
<p>
<a href="{{ comment.user.url }}">{{ comment.user.name }}</a> {{ comment.text }}
</p>
Run Code Online (Sandbox Code Playgroud)
然后传递以下元数据:
comment: {
user: { url: "profile/derp", name: "Username" },
text: "hey what's up"
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7818 次 |
| 最近记录: |