Javascript 将html标记作为ejs变量传递';价值 我使用膝关节炎框架和EJS模板来呈现视图。我需要向视图发送一些html元素值。但是ejs库正在将它们转换为html实体。我在跟踪他们是怎么说的

Javascript 将html标记作为ejs变量传递';价值 我使用膝关节炎框架和EJS模板来呈现视图。我需要向视图发送一些html元素值。但是ejs库正在将它们转换为html实体。我在跟踪他们是怎么说的,javascript,html,node.js,ejs,Javascript,Html,Node.js,Ejs,在我的js文件中: yield this.render('ejs file name', { a: 'hi', b: '<a href="hi">hi</a>' }); 但是我需要作为值,而不是a href=“hi”hi/a 是否有人对此有任何建议?通过手动检查模块代码找到了解决方案。默认情况下,ejs模块将转义这些值。为了防止它,我们需要向模块发送我们自己的转义函数,该函数将覆盖现有的 yield this.render('ejs file name', {

在我的js文件中:

yield this.render('ejs file name', {
  a: 'hi',
  b: '<a href="hi">hi</a>'
});
但是我需要
作为值,而不是
a href=“hi”hi/a


是否有人对此有任何建议?

通过手动检查模块代码找到了解决方案。默认情况下,ejs模块将转义这些值。为了防止它,我们需要向模块发送我们自己的转义函数,该函数将覆盖现有的

yield this.render('ejs file name', {
  a: 'hi',
  b: '<a href="hi">hi</a>',
  escape: function(html) {
    return String(html);
    // don't replace the htmls
    //.replace(/&/g, '&amp;')
    //.replace(/</g, '&lt;')
    //.replace(/>/g, '&gt;')
    //.replace(/'/g, '&#39;')
    //.replace(/"/g, '&quot;');
  }
});
产生这个.render('ejs文件名'{
a:嗨,
b:“,
转义:函数(html){
返回字符串(html);
//不要替换htmls
//.更换(/&/g,“&;”)
//.replace(//g',)
//.替换(/'/g'';'))
//.替换(/“/g,”);
}
});

通过手动检查模块代码找到解决方案。默认情况下,ejs模块将转义这些值。为了防止它,我们需要向模块发送我们自己的转义函数,该函数将覆盖现有的

yield this.render('ejs file name', {
  a: 'hi',
  b: '<a href="hi">hi</a>',
  escape: function(html) {
    return String(html);
    // don't replace the htmls
    //.replace(/&/g, '&amp;')
    //.replace(/</g, '&lt;')
    //.replace(/>/g, '&gt;')
    //.replace(/'/g, '&#39;')
    //.replace(/"/g, '&quot;');
  }
});
产生这个.render('ejs文件名'{
a:嗨,
b:“,
转义:函数(html){
返回字符串(html);
//不要替换htmls
//.更换(/&/g,“&;”)
//.replace(//g',)
//.替换(/'/g'';'))
//.替换(/“/g,”);
}
});


要使用文本编辑器处理EJB和Node JS(尽管我使用tinyMCE),只需将标记调用到此
,它将剥离所有标记并完美呈现文本。

要使用文本编辑器处理EJB和Node JS(尽管我使用tinyMCE),只需将标记调用到此
,这会去除所有标签并完美呈现文本。

您希望在EJS中使用
部分功能。你能再描述一下吗?因为我已经使用了partial,但这不是问题所在。这是关于值在我将它们传递给ejs的过程中被转换成html实体。怎么预防?看来你没明白。不管怎样,谢谢你抽出时间。我自己解决了这个问题。如果您想在EJS中使用
partial
函数,那么与我们分享解决方案将是一件很好的事情。你能再描述一下吗?因为我已经使用了partial,但这不是问题所在。这是关于值在我将它们传递给ejs的过程中被转换成html实体。怎么预防?看来你没明白。不管怎样,谢谢你抽出时间。我自己解决了这个问题。与我们分享这个解决方案会很好。tho:你也可以使用类似的方法:(参见链接答案的评论部分)这不是一个解决方案。谢谢您的时间。您不是在尝试取消ejs变量中的html景观吗?这就是
所做的:请参阅EJS文档中也不起作用的unescaped缓冲。请不要浪费你的时间,因为我已经弄明白了。谢谢。你能在你的答案中包括你的EJS文件内容吗?你是在做类似于
的事情吗?你也可以这样使用:(参见链接答案的评论部分)这不是一个解决方案。谢谢您的时间。您不是在尝试取消ejs变量中的html景观吗?这就是
所做的:请参阅EJS文档中也不起作用的unescaped缓冲。请不要浪费你的时间,因为我已经弄明白了。谢谢。你能在你的回答中包括你的EJS文件内容吗?你在做类似于
的事情吗?
yield this.render('ejs file name', {
  a: 'hi',
  b: '<a href="hi">hi</a>',
  escape: function(html) {
    return String(html);
    // don't replace the htmls
    //.replace(/&/g, '&amp;')
    //.replace(/</g, '&lt;')
    //.replace(/>/g, '&gt;')
    //.replace(/'/g, '&#39;')
    //.replace(/"/g, '&quot;');
  }
});