我在我的项目中使用sanitize-html。假设我收到一封带有锚标签的邮件,如下所示:
this is to test something <a href="https://www.google.com/">open google</a>
此邮件显示在我的邮箱中,如下所示:
this is to test something open google
在同一标签中打开google.com。但我需要在新标签页中打开。 这是我的代码。
__html = sanitizeHTML(children, {
allowedTags: sanitizeHTML.defaults.allowedTags.concat([ 'img' ]),
allowedAttributes: {
'*': [ 'href', 'align', 'alt', 'center', 'bgcolor', 'style', 'width' ],
'img': ['src'],
'a' : ['target']
},
}
这里我要设置或覆盖target =“_ blank”。如何在sanitize-html中实现这一目标?
不幸的是我找不到sanitize-html的标签。
答案 0 :(得分:1)
根据READ.MD/doc和您的问题描述,如:
__html = sanitizeHTML(children, {
...,
transformTags: {
'a': function(tagName, attribs) {// simpleTransform also possible...
return {
tagName: 'a',//tagName
attribs: {
target: '_blank',
href: '*'
}
};
}
......应该这样做。
编辑:
保留当前(允许!)属性的更好解决方案:
....
transformTags: {
'a': sanitizeHtml.simpleTransform('a', {target: '_blank'})
}