【发布时间】:2016-09-17 23:50:14
【问题描述】:
我希望能够使用 javascript 或 jquery 对以下所有字符进行编码和解码...
~!@#$%^&*()_+|}{:"?>
我试图用这个对它们进行编码...
var cT = encodeURI(oM); // oM holds the special characters
cT = cT.replace(/[!"#$%&'()*+,.\/:;<=>?@[\\\]^`{|}~]/g, "\\\\$&");
哪个确实对它们进行编码,或者转义它们,但是我试图用这个做相反的事情......
decodeURIComponent(data.convo.replace(/\+/g, ' '));
但是,它并没有以任何想要的方式出现。
我已经为 jquery 构建了一个聊天插件,但是如果有人输入特殊字符,脚本就会崩溃。我希望对特殊字符进行编码,然后当它们从数据库中提取出来时,它们应该被解码。在将数据返回到 ajax 请求之前,我尝试在 PHP 中使用 urldecode,但结果非常错误。
我认为存在一些对所有特殊字符进行编码和解码的功能。
哦,对此有一个警告是我用 html 元素包装每条消息,所以我认为解码需要在服务器端完成,在消息被包装之前,或者能够知道何时忽略有效的 html 标签并解码用户想要输入的其他字符。
我是否一开始就对它们进行了错误的编码/转义?
这就是结果很糟糕的原因吗?
【问题讨论】:
-
它在哪里崩溃?其中许多字符在 html 中是有效的。这听起来像是一个 XY 问题
标签: javascript php jquery html encoding