您当前的位置: 首页 > 感悟生活 > 关于ueditor编辑器双引号 “”转义BUG的修复

关于ueditor编辑器双引号 “”转义BUG的修复

时间:2023-07-29 16:57 阅读数:208 人阅读 分类:感悟生活

  最近在使用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 {

  '<':'<',

  '"':'"',

  '>':'>',

  ''':"'",

  ' ':' ',

  '&ldquo;':'“',

  '&rdquo;':'”',

  '&':'&'

  }[m]

  }) : '';

  },

  备注

  如果替换后无效,请检查你引用的是否是 ueditor.all.min.js