JavaScript:使html文本成为纯文本

JavaScript:使html文本成为纯文本,javascript,html,regex,Javascript,Html,Regex,我有一个js函数,它将字符串作为参数,并将其显示在div元素中。这样的字符串可能包含html标记 如何强制JS将div元素中的内部文本显示为带有html标记的html文本。还有,过滤特定标记的适当方法是什么,即应用某些标记进行样式设置,然后只打印其他标记。您只需使用&和,但不必如此)替换它们各自的实体,例如使用字符串#replace(,) 还有,过滤特定标签的适当方法是什么,即应用某些标签进行样式设置,然后只打印其他标签 直接放入用户插入的HTML代码对您来说是危险的。您应该使用一些工具来清理H

我有一个js函数,它将字符串作为参数,并将其显示在div元素中。这样的字符串可能包含html标记


如何强制JS将div元素中的内部文本显示为带有html标记的html文本。还有,过滤特定标记的适当方法是什么,即应用某些标记进行样式设置,然后只打印其他标记。

您只需使用
&
,但不必如此)替换它们各自的实体,例如使用
字符串#replace
(,)

还有,过滤特定标签的适当方法是什么,即应用某些标签进行样式设置,然后只打印其他标签

直接放入用户插入的HTML代码对您来说是危险的。您应该使用一些工具来清理HTML代码(例如,在StackOverflow上,您可以使用一些HTML标记)

如此处所示,以便您可以使用此客户端消毒剂:
另一方面,您可能需要在服务器端执行此操作,这取决于您的环境(ASP.NET?PHP?)。

我担心这个问题会再次唤醒zalgo。非常感谢。是的,我只是编码“@user1041195别忘了任何标记都可以嵌入带有JavaScript和“JavaScript:“是URL的有效前缀。如果您的用户可以插入HTML,请不要手工制作。@user1041195:附议Adriano的说法:如果您要允许使用一些HTML标记,最好使用XSS库,而不是自己动手。如果你自己做的话,做一个标签的白名单(不允许其他任何东西),对于每个标签,一个你在该标签上允许的属性的白名单,以及(在某些情况下)这些属性允许采取的形式。你不想允许看,兔子们或类似。是的,还需要考虑属性。Adriano,T.J.Crowder,谢谢。@T.J.Crowder是的,我认为忘记HTML太容易了(特别是如果这是他的第一次),但是你已经得到了我的+1,因为它直接解释了他应该做什么!