百度编辑器无法读取html标签

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了百度编辑器无法读取html标签相关的知识,希望对你有一定的参考价值。

RT,使用百度编辑器无法读取保存到数据库的html标签

上面是我保存到数据库的内容
数据库中存储的内容,如图

但是,当我再次打开这篇内容,编辑的时候,百度编辑器,无法读取上面内容,貌似被过滤勒...

你好,出现这个问题是复制方式不对的。

如果直接复制html代码(你图上的<html></html>这些就属于Html代码),需要在源代码模式下复制。

具体操作:点 百度编辑器上的第一个按钮html,然后再复制代码。下图的红色部分。

复制完后,再次点一下html按钮,就是所见即所得的内容。

当然你可以在源码模式下直接提交内容。

参考技术A

全选你的文字,在代码语言那里选择html。然后保存不可以吗。

看你这贴出来的,肯定是没有选择代码编辑引起的


把内容复制好,然后先点击

上面的html,然后粘贴代码,保存就可以了

参考技术B   根据现象,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())


()

你试试看。
参考技术C function HtmlDecode(text)
return text.replace(/&/g, '&').replace(/"/g, '\"').replace(/</g, '<').replace(/>/g, '>');

这个可以把百度编辑器内容被转义的标签替换回来。提交回答
参考技术D 我感觉你在百度编辑器中编辑的时候是在文本模式编辑的。它把所有的一行东西都看做一行文本了。
我没有用过百度编辑器,但是它应该有代码编辑模式。看看能不能换过去。追问

你没看清,数据库的内容是

再次用编辑器打开,编辑器里面的内容的变成这样了

去掉百度编辑器ueditor自动生成的p标签

我知道很繁琐,只是不知道有没有人去解决过,在百度没有搜到答案,求大神解答。去掉自动添加的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就不会被转义了。

更多
参考技术A 这尼玛文不对题 参考技术B 为什么要去掉呢,本身就是所见即所得啊追问

我说的是自动生成的 我要编辑的是html静态页面 不能多出乱七八糟的标签

以上是关于百度编辑器无法读取html标签的主要内容,如果未能解决你的问题,请参考以下文章

thinkphp用百度编辑器保存的内容,前台网页原样输出

百度文本编辑器Ueditor如何生成网页

百度 Ueditor 在线编辑器 无法上传图片或者文件 提示上传错误

如何将已保存的html载入百度UEditor编辑器?

JSP去掉百度编辑器ueditor自动生成的标签?谢谢

python3Django中使用Uediter百度富文本编辑器的配置方法