Javascript 使用JsHtmlSanitizer删除每个html标记

Javascript 使用JsHtmlSanitizer删除每个html标记,javascript,Javascript,我最终得到了作为一个独立客户端脚本的工作。 现在我想删除字符串中的所有HTML标记,而不仅仅是脚本标记和链接。 这个例子 html_sanitize('<b>hello</b><img src="http://google.com"><a href="javascript:alert(0)"><script src="http://www.google.com"><\/script>'); html_清理('hello')

我最终得到了作为一个独立客户端脚本的工作。 现在我想删除字符串中的所有HTML标记,而不仅仅是脚本标记和链接。 这个例子

html_sanitize('<b>hello</b><img src="http://google.com"><a href="javascript:alert(0)"><script src="http://www.google.com"><\/script>');
html_清理('hello');

返回“hello”,但我想删除所有标记。

为什么不在清理后使用正则表达式删除所有HTML标记

var input = '<b>hello</b><img src="http://google.com"><a href="javascript:alert(0)"><script src="http://www.google.com"></script>';
var output = null;
output = html_sanitize(input);
output = output.replace(/<[^>]+>/g, '');
var输入='hello';
var输出=null;
输出=html_清理(输入);
输出=输出。替换(/]+>/g',);
这将在清理后去除输入字符串中的所有html标记

如果您只想进行基本的清理(仅删除脚本和样式标记及其内容和所有html标记),您可以在regex中实现整个过程。我在下面演示了一个示例

var input = '<b>hello</b><img src="http://google.com"><a href="javascript:alert(0)"><script src="http://www.google.com"></script>';
input += '<script> if (1 < 2) { alert("This script should be removed!"); } </script><style type="text/css">.cssSelectorShouldBeRemoved > .includingThis { background-color: #FF0000; } </style>';

var output = null;
output = input.replace(/(?:<(?:script|style)[^>]*>[\s\S]+?<\/(?:script|style)[^>]*>)|<[^>]+>/ig, '');
var输入='hello';
输入+='if(1<2){alert(“应删除此脚本!”);}.css选择器应删除>。包括此{背景色:#FF0000;}';
var输出=null;
输出=输入。替换(/(?:]*>[\s\s]+?]*>)|]+>/ig',);

使用下面的javascript函数从html\u sanitize()获取的字符串中删除所有html标记

var output = html_sanitize('<b>hello</b><img src="http://google.com"><a href="javascript:alert(0)"><script src="http://www.google.com"><\/script>');

output = output.replace(/(<.*?>)/ig,"");
var output=html_sanitize('hello');
输出=输出。替换(/()/ig,“”);

希望它能有所帮助:)

那么,为什么不将其作为XML文档处理并获取innerText呢?我想在我目前正在开发的程序中使用bb代码实现实时预览。因此,首先我想删除所有HTML标记,然后将BB代码转换为HTMLSo为什么不将其作为XML文档处理并获取innerText?对不起,我不明白您的意思point@JohnDoe:看一看。您可以将输入字符串转换为文档。并遍历它以获取文本节点或任何您喜欢的内容。难道您不知道有一个机器人可以爬行,以便找到包含“正则表达式”和“HTML”的答案,并自动将此链接作为注释发布: