Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 允许在DomPurify中使用HTML注释_Javascript_Html_Sanitization_Dompurify - Fatal编程技术网

Javascript 允许在DomPurify中使用HTML注释

Javascript 允许在DomPurify中使用HTML注释,javascript,html,sanitization,dompurify,Javascript,Html,Sanitization,Dompurify,我想使用domprify来清理一些HTML内容,但我想保留HTML注释。可能吗 您可以看到它在中的作用-如果您输入带有注释的标记,则注释将被删除 DOMPurify似乎非常可配置,但是没有提到使用什么术语将HTML注释指定为允许的标记。DOMPurify没有任何挂钩或配置来允许HTML字符串中的注释。您可以这样做,只需将替换为任何自定义属性,并提供配置以允许添加标签:['comment']即可 var dirty = "<!-- I am ready now, click one of t

我想使用domprify来清理一些HTML内容,但我想保留HTML注释。可能吗

您可以看到它在中的作用-如果您输入带有注释的标记,则注释将被删除


DOMPurify似乎非常可配置,但是没有提到使用什么术语将HTML注释指定为允许的标记。

DOMPurify
没有任何挂钩或配置来允许HTML字符串中的注释。您可以这样做,只需将
替换为任何自定义属性,并提供配置以允许
添加标签:['comment']
即可

var dirty = "<!-- I am ready now, click one of the buttons! -->ac <script>in script<\/script> <b>hello</b>";
dirty = dirty.replace(/(<!--)/g,'<comment>').replace(/(-->)/g,'</comment>');
var config = { ALLOWED_TAGS: ['b'],ADD_TAGS: ['comment']};
var clean = DOMPurify.sanitize(dirty, config);
clean = clean.replace(/(<comment>)/g,'<!--').replace(/(<\/comment>)/g,'-->');
console.log("clean => ",clean);
var dirty=“脚本hello中的ac”;
脏=脏。替换(/()/g');
var config={ALLOWED_标签:['b'],ADD_标签:['comment']};
var clean=domprify.sanitize(dirty,config);
清洁=清洁。更换(/()/g');
log(“clean=>”,clean);

JSFIDLE demo-

我也有同样的问题,有一个更好的解决方案,它不是(剧透警报:不要!):

var dirty=“脚本hello中的ac”;
var config={ADD_标记:['#comment'],FORCE_BODY:true};
var clean=domprify.sanitize(dirty,config);
log(“clean=>”,clean);
//>>>清洁=>空调你好