关于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






你可能感兴趣的:(关于ueditor编辑器双引号 “”转义BUG的修复)