2014-04-07 24 views
5

有没有办法,我可以(不修改胡须的来源)禁用HTML转义?我为其他东西使用胡子,并不想让以下实体逃脱。小胡子:全局禁用html转义?

var entityMap = { 
    "&": "&", 
    "<": "&lt;", 
    ">": "&gt;", 
    '"': '&quot;', 
    "'": '&#39;', 
    "/": '&#x2F;' 
}; 

给定一个模板像foo '{{bar}}'和视图{ bar : 1 }会产生foo &#39;1&#39

+0

如何在页面完全加载后运行“descaping”方法? – Knerd

回答

18

其实很简单,mustache提供的escape函数被覆盖。以下行禁用胡须模板的转义。

mustache.escape = function (value) 
{ 
    return value; 
}; 
20

如果你想只是没有HTML逃避一些字符串,你只是做{{{XX}}}代替{{XX}}

按:

http://mustache.github.io/mustache.5.html

所以,如果你有这样的组成的字符串:

测试=> Q &一个

与呼唤:

{{test}} 

会给你:

Q &amp; A 

..但与调用:

{{{test}}} 

会给你刚:

q & a 
+2

感谢您的回复,但这不是关于占位符。我的问题是它也逃避了整个模板。 – codevour

+0

你是如何煽动模板的?这适用于我使用本地模板(在同一页中的**