gpt4 book ai didi

javascript - Handlebarsjs "smart"转义

转载 作者:行者123 更新时间:2023-11-27 23:12:37 24 4
gpt4 key购买 nike

是否有任何方法可以为 Handlebars 转义设置某种设置,以便省略特定标签?或者是否有任何一组助手可以做到这一点?

例如如果我允许模板中的链接,它将执行以下操作。

InputSting = "some <\a href='http://link'>out</a> <\script>alert('THERE')</script>"

模板

{{InputString}}

编译为如下内容:

some out <\script>alert('THERE')</script>

忽略反斜杠,用于保留标签。

最佳答案

我尝试了这个 fiddle :https://jsfiddle.net/ChristopheThiry/m4fgsxof/

首先,在 InputString 中,您需要以不同的方式进行转义,否则 javascript 会检测到您的脚本标记并在错误的位置关闭该标记:

\<script>alert('THERE')\<\/script>

其次,您可以使用助手在输入字符串上转换 Handlebars.SafeString

在您的模板中:

{{#link InputString}}
{{/link}}

和助手声明:

Handlebars.registerHelper('link', function(text) {
return new Handlebars.SafeString(text);
});

关于javascript - Handlebarsjs "smart"转义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36074124/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com