ueditor编辑器双引号 “”转义BUG的修复
最近在使用ueditor编辑器的时候发现,它会把正常的“ 与 ”转义为 “ ”
检查转义的方法发现对于“ ”是没有做处理的,需要自己加上去
ueditor.all.js unhtml:function (str, reg) { return str ? str.replace(reg || /[&<">'](?:(amp|lt|quot|gt|#39|nbsp);)?/g, function (a, b) { if (b) { return a; } else { return { '<':'<', '&':'&', '"':'"', '>':'>', "'":''' }[a] } }) : ''; }, |
html:function (str) { return str ? str.replace(/&((g|l|quo)t|amp|#39|nbsp);/g, function (m) { return { '<':'<', '&':'&', '"':'"', '>':'>', ''':"'", ' ':' ' }[m] }) : ''; }, |
修复方法:
第一个方法 unhtml 把 amp|lt|quot|gt|#39|nbsp 替换为 amp|lt|quot|gt|#39|nbsp|ldquo|rdquo就可以了
第二个方法html
修改成
html:function (str) { return str ? str.replace(/&((g|l|quo)t|#39|nbsp|ldquo|rdquo|amp);/g, function (m) { return { '<':'<', '"':'"', '>':'>', ''':"'", ' ':' ', '“':'"', '”':'"', '&':'&' }[m] }) : ''; }, |
备注
如果替换后无效,请检查你引用的是否是 ueditor.all.min.js