我创建文章的过程中,插入代码后,看起来是正常的,然后保存完之后,且保存到数据库中也正常,但是当对该文章进行编辑的时候,发现UEditor编辑器会自动过滤掉部分代码。百度搜索了很多解决方法,
有说:
找到ueditor.min.js文件,搜索其中的配置项, 第9970行:
'allowDivTransToP':true, 此项默认如上,指允许将用户输入的div标签转换成p标签。我们将其中的true改为false即可。
也有些说:
打开ueditor.config.js做出如下修改即可:
// xss 过滤是否开启,inserthtml等操作
xssFilterRules: true
//input xss过滤
inputXssFilter: true
//output xss过滤
outputXssFilter: true
将其中的true改为false即可。
本人是全宝鑫开发网站的技术员都试过,上面说的都不行,不知那些人怎么说可以,是不是纯粹在充数扯蛋,很有可疑。我用的是最新php版本UEditor1.4.3.3编辑器,整合的织梦V5.7版本后台网站模板上,测来测去,都是不行的。无意中发现我按装时的文件,inc_func_funcAdmin.php找到185行,贴入一下代码
else if($GLOBALS['cfg_html_editor']=='ueditor') { $fvalue = $fvalue=='' ? '<p></p>' : $fvalue; $code = '<script type="text/javascript" charset="utf-8" src="/include/ueditor/ueditor.config.js"></script> <script type="text/javascript" charset="utf-8" src="/include/ueditor/ueditor.all.js"></script> <link rel="stylesheet" type="text/css" href="/include/ueditor/themes/default/css/ueditor.css"/> <textarea name="'.$fname.'" id="'.$fname.'" style="width:100%;">'.$fvalue.'</textarea> <script type="text/javascript">var ue = new baidu.editor.ui.Editor();ue.render("'.$fname.'");</script>'; if($gtype=="print") { echo $code; } else { return $code; } }
把中间的textarea前后对应的代码,改成script前后对应代码,就不会被过滤输入的代码了,OK大功告成,网上很多说的复杂方法都不行,原来解决就是这么简单,希望对同样遇到这问题的朋友有帮助。