避免HTML和脚本标记呈现

我一直在聊天框工作,我使用Node.js + socket.io进行客户端 – 服务器通信,所以我不能执行PHP代码(我读过这是可能的,但不build议和难以实现)。 除非用户使用HTML或脚本标记发送消息,否则一切正常。

我试图用我在这里find的函数删除这些标签。 它工作正常,但只为HTML标记,然后我想:嗯,我可以首先使用正则expression式删除脚本标记。 像这样的东西

.replace(/<script.*>.*<\/script>/ims, " ")

然后删除HTML标记,但是我不确定这种方法是否有黑客validation, 并且每个消息发送的过程都是很多的。

有什么forms的附加文本$("#div").append(message); 而不呈现HTML / JavaScript代码? —就像在twitch.tv那里打印文本一样,如果你用HTML / JS / PHP代码发送消息,就会像打字的方式一样打印消息。

或者,有没有其他的方式来删除标签?

谢谢你的时间。

只需附加一个与文本设置的消息的div。

 $("#div").append( $("<div>").text(message) );