你可以在数据保存的时候,通过你服务端语言来过滤;
或者再数据保存前,用js过滤之后再进行保存。
但既然选择使用富文本编辑器,何必在数据库中显示不带HTML标签的内容?
㈡ ueditor 这是干什么用的
方法/步骤
目前最新版本为1.1.7.3
下载下来的文件名为ueditor1.1.7.3.zip
把解压出来的ueditor文件夹专整个复属制到项目WebRoot下
1.页面<head>里增加以下代码
㈢ 去掉百度编辑器ueditor自动生成的p br标签
网络的Ueditor编辑器出于安全xìng考虑,用户在html模式下粘贴进去的html文档会自动被去除样式和转义。虽然安全的,但是非常不方便。
做一下修改把这个功能去掉。
一、打开ueditor.all.js
二、大概9300行找到 ///plugin 编辑器默认的过滤转换机制,把下面的
'allowDivTransToP':true
值改成false。为true的时候会自动把div转成p。
三、大概9429行,有个case 'li',这个是把li里面的样式去掉,把这个case注释掉。
四、大概14058行,下面的第一个utils.each功能注释掉,这个是自动给li里面的内容增加一个p。
五、大概14220行,
node.className = utils.trim(node.className.replace(/list-paddingleft-\w+/,'')) + ' list-paddingleft-' + type;
注释掉,这个是自动给ul增加一个内置的样式。
下面的14222行
li.style.cssText && (li.style.cssText = '');
注释掉,这个是自动去除粘贴进去的代码的li的style样式
至此,我们粘贴进去的html格式的ul和li就不会被转义了。
更多
㈣ ueditor纯文本粘贴时如何去除每行前的空格
UEditor内置复了无格式粘贴的功制能,只需要简单的配置即可。
1、修改ueditor.config.js,开启retainOnlyLabelPasted,并设置为true
2、开启pasteplain,并设为true
3、开启filterTxtRules过滤规则。
㈤ ueditor插入html代码保存后,再次编辑文章时html代码被过滤只显示文本内容!
遇到问题多看官方文档和官方API。
官方初始化参数文档:http://fex..com/ueditor/#start-config
官方API文档:http://ueditor..com/doc/
最简单的解决方专法如下:
//如下写属法即可
varue=UE.getEditor("editor",{
initialContent:"${initParam}"
});
如果不能满足要求,比如这样的话,之前在文本中插入的图片,在修改时会展示<img>标签,可以用filterTxtRules选项解决。当然,一般没人会把图片也跟文本一起存入数据库
㈥ ueditor编辑器怎么取消对 iframe标签的过滤
提交时用escape把字符串编码,输出时unescape再解码 自己网络html实体字符,进行替换 修改回php 比较推荐答1,而且编码之前可以自己把危险标签去掉,比如iframe和script 1,2用js在表单的onsubmit里完成
㈦ ueditor里插入的script,style等标签被过滤掉怎么解决
提交时用escape把字符串编码,输出时unescape再解码 自己网络html实体字符,进行替换 修改php 比较推荐1,而且编码之前可以自己把危险标签去掉,比如iframe和script 1,2用js在表单的onsubmit里完成
㈧ ueditor1.4.3阻止过滤span标签
打开ueditor.all.js文件,搜索“allowDivTransToP”,找到以下代码:
//进入编辑器的内容处理
me.addInputRule(function (root) {
....此处代码省略
//进行默认的处理
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))) {
//取消默认过滤span标签
//node.parentNode.removeChild(node, true)
}
return;
}
....此处代码省略
}
});
//从编辑器出去的内容处理
me.addOutputRule(function (root) {
var val;
root.traversal(function (node) {
if (node.type == 'element') {
if (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))) {
//取消默认过滤span标签
//node.parentNode.removeChild(node, true)
}
return;
}
...此处代码省略
}
})
});
说明:加粗部分为修改代码,将两端代码注释掉即可
㈨ ueditor 过虑掉了frame怎么解决
首先在ueditor.all.js文件内搜索allowDivTransToP,找到如下的代码,将true设置为版false:
me.setOpt('allowDivTransToP',false);
这个设置的意思是权默认的设置是将div自动转换为p,这样就过虑了div标签。
接着向下找addInputRule方法中将switch代码段中的switch (node.tagName)都给注释或者删掉,这里面的case有style,script,a标签等,
addInputRule方法开始处的代码千万别注释或者删掉,那是执行的默认处理。
进行以上修改后,再在后台编辑器器中插入代码块时,再次编辑时进编辑中的代码就不会被过虑了,同样前台如果使用了编辑也同样不会被过虑掉。