1

我一直在聊天框中工作,我使用 Node.js + socket.io 进行客户端-服务器通信,所以我无法执行 PHP 代码(我已经读过这是可能的,但不推荐并且很难实现)。一切正常,除非用户发送带有 HTML 或 Scripts 标签的消息。

我尝试使用在此处找到的功能删除这些标签。它工作正常,但仅适用于 HTML 标签,然后我想:好吧,我可以先使用正则表达式删除 Script 标签。像这样的东西

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

然后删除HTML标签,但我不确定这种方法是否是黑客证明,而且每条发送的消息都有很多过程。

是否有任何形式的附加文本$("#div").append(message);而不呈现 HTML/JavaScript 代码?--- 按原样打印文本,例如在twitch.tv中,如果您发送带有 HTML/JS/PHP 代码的消息,则消息的打印方式与您键入的方式一样。

或者,有没有其他方法可以删除标签?

谢谢你的时间。

4

1 回答 1

1

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

$("#div").append( $("<div>").text(message) );
于 2013-03-26T20:31:43.980 回答