百度编辑器无法读取html标签 100
RT,使用百度编辑器无法读取保存到数据库的html标签上面是我保存到数据库的内容数据库中存储的内容,如图但是,当我再次打开这篇内容,编辑的时候,百度编辑器,无法读取上面内...
RT,使用百度编辑器无法读取保存到数据库的html标签
上面是我保存到数据库的内容
数据库中存储的内容,如图
但是,当我再次打开这篇内容,编辑的时候,百度编辑器,无法读取上面内容,貌似被过滤勒... 展开
上面是我保存到数据库的内容
数据库中存储的内容,如图
但是,当我再次打开这篇内容,编辑的时候,百度编辑器,无法读取上面内容,貌似被过滤勒... 展开
7个回答
展开全部
根据现象,Editor是把<html>,<body>标签滤掉了,这个时Editor为了保护专门滤掉的,需要手动配置才可以:
不知道你的是什么版本,这个配置和Editor的版本有关,请先在ueditor.config.js中搜索whiteList,
如有有,证明你这个版本是老版本,这样打开注释并设置如下:
serialize : {
//黑名单,编辑器会过滤掉以下标签
blackList:{style:1, link:1,object:1, input:1, meta:1},
//白名单,编辑器会根据此配置保留对应标签下的对应标签或者属性
whiteList:{
'p': {'br':1,'BR':1},
'br':{'$':{}},
'div':{'br':1,'BR':1,'$':{'id':1,'style':1}} ,
'html':{$:{}},
'body':{$:{}}
}
}
如果没有搜到whiteList,那证明是新版本,那么搜索filterTxtRules,打卡注释并设置如下:
'filterTxtRules' : function(){
function transP(node){
node.tagName = 'p';
node.setStyle();
}
return {
//直接删除及其字节点内容
'-' : 'script style object iframe embed input select',
'p': {$:{}},
'br':{$:{}},
'div':{'$':{}},
'li':{'$':{}},
'caption':transP,
'th':transP,
'tr':transP,
'h1':transP,'h2':transP,'h3':transP,'h4':transP,'h5':transP,'h6':transP,
'td':function(node){
//没有内容的td直接删掉
var txt = !!node.innerText();
if(txt){
node.parentNode.insertAfter(UE.uNode.createText(' '),node);
}
node.parentNode.removeChild(node,node.innerText())
}
}
}()
你试试看。
不知道你的是什么版本,这个配置和Editor的版本有关,请先在ueditor.config.js中搜索whiteList,
如有有,证明你这个版本是老版本,这样打开注释并设置如下:
serialize : {
//黑名单,编辑器会过滤掉以下标签
blackList:{style:1, link:1,object:1, input:1, meta:1},
//白名单,编辑器会根据此配置保留对应标签下的对应标签或者属性
whiteList:{
'p': {'br':1,'BR':1},
'br':{'$':{}},
'div':{'br':1,'BR':1,'$':{'id':1,'style':1}} ,
'html':{$:{}},
'body':{$:{}}
}
}
如果没有搜到whiteList,那证明是新版本,那么搜索filterTxtRules,打卡注释并设置如下:
'filterTxtRules' : function(){
function transP(node){
node.tagName = 'p';
node.setStyle();
}
return {
//直接删除及其字节点内容
'-' : 'script style object iframe embed input select',
'p': {$:{}},
'br':{$:{}},
'div':{'$':{}},
'li':{'$':{}},
'caption':transP,
'th':transP,
'tr':transP,
'h1':transP,'h2':transP,'h3':transP,'h4':transP,'h5':transP,'h6':transP,
'td':function(node){
//没有内容的td直接删掉
var txt = !!node.innerText();
if(txt){
node.parentNode.insertAfter(UE.uNode.createText(' '),node);
}
node.parentNode.removeChild(node,node.innerText())
}
}
}()
你试试看。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
function HtmlDecode(text) {
return text.replace(/&/g, '&').replace(/"/g, '\"').replace(/</g, '<').replace(/>/g, '>');
}
这个可以把百度编辑器内容被转义的标签替换回来。提交回答
return text.replace(/&/g, '&').replace(/"/g, '\"').replace(/</g, '<').replace(/>/g, '>');
}
这个可以把百度编辑器内容被转义的标签替换回来。提交回答
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询