讨论 Bug反馈 编辑器会过滤html标签

编辑器会过滤html标签

monface 发表于    阅读:379    回复:16

问题描述:

自定义页面,或者内容详情页,编辑器在html源码下复制了div等html标签后,再点击html 按钮,就会把div   class等标签过滤掉。

已经关掉xss过滤了的。

环境信息:

PHP:8.1

ModStartCMS Laravel9 v6.6.0

自带UEditor编辑器

复现步骤:

1.在html源码下复制了div等html标签后

2.再点击html 按钮

3.再看 html源码,就只剩下P 标签了,其他html标签被过滤了

建议与意见:

1. 粘贴的html不做过滤,粘贴什么显示什么。


评论

目前使用的是UEditorPlus,默认会过滤,后期我们增加一个开关。

 

@ModStart:

怎么先手动关闭?

 

需要修改富文本编辑器渲染的代码。在 vendor/modstart/modstart/resources/asset/src/common/editor.js

 
public/asset/common/editor.js

这个才对

 

下个版本增加了可以自定义富文本配置的参数,可如下使用,禁止将div转换为p:

$builder->richHtml('content', '内容')->editorOption([
    'allowDivTransToP' => false,
])->listable(false);


 

@ModStart: 非常棒

再一个建议增加模板的 区块功能,添加的区块可以是文本,图片或者编辑器添加的内容,并且不过滤html标签,然后在模板其他地方可调用。

类似fastadmin的区块功能

 

@monface: 已经安排开发,下个版本升级即可。

 

@ModStart:   6.7版本  新增:RichHtml组件支持editorOption自定义富文本编辑器属性。

这个是编辑那个文件呢?

 

RichHtml 组件相关的额几个文件,可以搜索editorOption

 

@monface: 最后是改了哪些地方解决的呢,麻烦告知一下呢

 
$builder->richHtml('content', '内容')->editorOption([
    'allowDivTransToP' => false,])->listable(false);

富文本组件参考以上修改

 

@zhang616:

  1. 先关闭xss过滤

  2. 改 public/asset/common/editor.js 里面的allowDivTransToP:false


 

@ModStart:

具体是那些文件路径 发一下。

建议官方直接后台一个开关来控制,开启富文本编辑器支持html代码。

 

HTML代码无法直接执行,悲催

 

@ModStart:    通用CMS  模块更新了这个了吗?

 

@fkenuiabcd: 这个默认是会过滤的,如果不想过滤,需要手动修改代码。

$builder->richHtml('content', '内容')->editorOption([
    'allowDivTransToP' => false,])->listable(false);


 
1
我来评论
QQ
微信