zfxcms ^回到顶部

您的当前位置:首页 > php资讯 > PHP基础 > 富文本编辑器UEditor过滤代码问题解决方法

富文本编辑器UEditor过滤代码问题解决方法

所属分类: PHP基础   2018-06-27 23:17:50  编辑:admin  浏览次数 924 次

第一步

找到富文本编辑器UEditor的源文件目录;找到ueditor.all.js(如果你引入的是ueditor.all.min.js,请往下看)

第二步

打开后找到
//把'allowDivTransToP':true,改成'allowDivTransToP':false
var me = this;
me.setOpt({
  'allowDivTransToP':false,
  'disabledTableInTable':true
});
//解释一下:'allowDivTransToP':false,这个是不允许div转换成p标签

第三步

找到case 'style'和case 'script':全部屏蔽掉,如下:
//把case 'style'和case 'script'都屏蔽掉
root.traversal(function (node) {
  if (node.type == 'element') {
      if (!dtd.$cdata[node.tagName] && me.options.autoClearEmptyNode && dtd.$inline[node.tagName] && !dtd.$empty[node.tagName] && (!node.attrs || utils.isEmptyObject(node.attrs))) {
          if (!node.firstChild()) node.parentNode.removeChild(node);
          else if (node.tagName == 'span' && (!node.attrs || utils.isEmptyObject(node.attrs))) {
              node.parentNode.removeChild(node, true)
          }
          return;
      }
      switch (node.tagName) {
          /*case 'style':
          case 'script':
              node.setAttr({
                  cdata_tag: node.tagName,
                  cdata_data: (node.innerHTML() || ''),
                  '_ue_custom_node_':'true'
              });
              node.tagName = 'div';
              node.innerHTML('');
              break;*/
          case 'a':
              if (val = node.getAttr('href')) {
                  node.setAttr('_href', val)
              }
              break;
//解释一下:'case 'style'和case 'script'屏蔽掉这个是不允许过滤style行内样式和script标签。
如果你调用的是ueditor.all.min.js,参考下面
//1把allowDivTransToP:!0改成allowDivTransToP:0;
UE.plugins.defaultfilter=function(){var d=this;d.setOpt({allowDivTransToP:0,
disabledTableInTable:!0});
//2把noscript:1都改成noscript:0(这个应该有两处)

PHP文章检索

PHP文章目录