如何在javascript中使用正则表达式转义一些html标记?

如何在javascript中使用正则表达式转义一些html标记?,javascript,Javascript,我想在javascript中创建一个正则表达式,我想用它格式化一个html字符串,这样所有带有事件属性的html标记都应该格式化。比如说 <img src="image.png" onload="alert(123)"> 或 应格式化为 <img src="image.png"> 它应该只删除以“on”开头的所有事件属性。我将使用DOMParser:将字符串转换为文档,然后迭代文档的所有元素。如果其

我想在javascript中创建一个正则表达式,我想用它格式化一个html字符串,这样所有带有事件属性的html标记都应该格式化。比如说


    <img src="image.png" onload="alert(123)">

应格式化为

<img src="image.png">

它应该只删除以“on”开头的所有事件属性。

我将使用DOMParser:将字符串转换为文档,然后迭代文档的所有元素。如果其任何属性以on开头,请删除该元素:

const clean=str=>{ const doc=new DOMParser.parseFromStringstr,'text/html'; 对于文档querySelectorAll'*'的常量{ 对于elm.attributes的常量attrib{ 如果attrib.name.startsWith'on'{ 榆树; } } } 返回doc.body.innerHTML; }; 控制台:logclean'Qucik brown f';
控制台:logclean'Qucik brown f';而且肯定不够可靠,无法用作XSS过滤器。您对Qucik brown fox的预期输出是什么?你想删除标签吗?删除还是用其内容替换?如果存在JS,它应该删除标签本身。你将如何区分标签中有JS?删除?。。。我想他想保留内容。。。因此,如果以比elm.replaceWith…elm.childNodes更高的速度启动
<img src="image.png">