Разрешить HTML комментарии в DomPurify - PullRequest
0 голосов
/ 13 ноября 2018

Я бы хотел использовать DOMPurify для очистки некоторого HTML-контента, но я бы хотел сохранить HTML-комментарии. Это возможно?

Вы можете увидеть, что он делает в в этом примере - если вы введете разметку с комментарием, комментарий будет удален.

DOMPurify кажется очень настраиваемым, но в документах не упоминается, какой термин использовать для указания комментария HTML в качестве разрешенного тега.

1 Ответ

0 голосов
/ 13 ноября 2018

DOMPurify не имеет никаких хуков или настроек, позволяющих комментировать в HTML-строке. Вы можете сделать это, просто заменив <!-- и --> на любой пользовательский атрибут и предоставив конфигурацию, позволяющую ADD_TAGS: ['comment'] it.

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);

jsFiddle demo - http://jsfiddle.net/4j6c28ve/

...