一种基于富文本编辑器的自动排版方法和系统技术方案

技术编号:32344128 阅读:51 留言:0更新日期:2022-02-16 18:58
本发明专利技术涉及一种基于富文本编辑器的自动排版方法和系统,属于富文本编辑技术领域。本发明专利技术通过对获取的富文本进行标签过滤和格式去除处理,可以有效移除原始文本中包含的特殊标签和无用标签,以解决现有技术中存在的样式错乱、布局混乱、内容错位等问题。并且,本发明专利技术通过对富文本中包含的图片进行居中处理,可以有效解决现有技术中存在的图片不居中的问题,进一步,本发明专利技术基于自动排版样式菜单对处理后的富文本进行自动排版,并进行样式渲染,能够进一步解决现有技术存在的富文本样式无法渲染等问题。染等问题。染等问题。

【技术实现步骤摘要】
一种基于富文本编辑器的自动排版方法和系统


[0001]本专利技术涉及富文本编辑
,特别是涉及一种基于富文本编辑器的自动排版方法和系统。

技术介绍

[0002]目前的富文本编辑器的内容自动排版功能并不完善,具体体现在这几个方面。第一,如果是从微信公众号复制过来的新闻,会因为微信自带的样式(如:<SECTION>标签、<ARTICLE>标签)造成样式错乱。第二,多重标签(如:<DIV>标签)嵌套过深造成的布局混乱、内容错位。第三,自动排版时图片没有做到居中处理。第四,自动排版的同时没有对富文本样式进行渲染。

技术实现思路

[0003]为解决现有技术存在的上述问题,本专利技术提供了一种基于富文本编辑器的自动排版方法和系统。
[0004]为实现上述目的,本专利技术提供了如下方案:一种基于富文本编辑器的自动排版方法,包括:对富文本编辑器进行初始化操作;获取富文本,并解析所述富文本得到解析对象节点数据;对所述解析对象节点数据进行标签过滤和格式去除处理;对所述富文本中包含的图片进行居中处理;采用JavaScript脚本设置初始化后的富文本编辑器的自动排版样式菜单;基于所述自动排版样式菜单对处理后的富文本进行自动排版,并进行样式渲染;所述处理后的富文本包括:进行标签过滤和格式去除处理后的富文本和图片居中处理的富文本。
[0005]优选地,还包括:采用预先设置的跨站脚本黑名单关键词列表对所述解析对象节点数据进行过滤,以删除符合跨站脚本黑名单关键词的字符串。
[0006]优选地,采用预先设置的跨站脚本黑名单关键词列表对所述解析对象节点数据进行过滤,以删除符合跨站脚本黑名单关键词的字符串,具体包括:遍历所述解析对象节点数据中的对象节点,对所述对象节点中符合预先设置的跨站脚本黑名单关键词列表的字符串采用replace函数进行过滤处理。
[0007]优选地,所述对富文本编辑器进行初始化操作,具体包括:采用JavaScript脚本,初始化富文本编辑器的操作菜单,通过addListener绑定用于监听用户操作的处理事件。
[0008]优选地,所述获取富文本,并解析所述富文本得到解析对象节点数据,具体包括:获取所述富文本中的字符串,采用初始化后的所述富文本编辑器对所述字符串进
行解析,得到解析对象节点数据;所述解析对象节点数据包括:标签数据和标签内容。
[0009]优选地,所述获取所述富文本中的字符串,采用初始化后的所述富文本编辑器对所述字符串进行解析,得到解析对象节点数据,具体包括:当前初始化富文本编辑器中的文本选择被改变时,生成触发事件;基于所述触发事件获取富文本变化,并进行字符串解析得到解析对象节点数据。
[0010]优选地,所述对所述解析对象节点数据进行标签过滤和格式去除处理,具体包括:遍历所述解析对象节点数据中的对象节点,使用removeAttr()方法移除所述对象节点的style属性;遍历所述解析对象节点数据中的对象节点,对所述对象节点中符合预先设置的移除样式/文本标签策略规则的标签使用DOM结构的remove方法进行移除处理;遍历所述解析对象节点数据中的对象节点,对所述对象节点中符合预先设置的替换过滤标签策略规则的标签使用DOM结构的rename方法进行替换标签处理;按照预先设置的转义字符还原列表,对所述对象节点中符合转义规则的字符串进行转义字符还原。
[0011]优选地,所述对所述富文本中包含的图片进行居中处理,具体包括:使用querySelector()方法确定所述富文本中所有的img标签;基于所述img标签使用setStyle方法对富文本中所有的图片添加居中属性。
[0012]根据本专利技术提供的具体实施例,本专利技术公开了以下技术效果:本专利技术提供的基于富文本编辑器的自动排版方法,通过对获取的富文本进行标签过滤和格式去除处理,可以有效移除原始文本中包含的特殊标签和无用标签,以解决现有技术中存在的样式错乱、布局混乱、内容错位等问题。并且,本专利技术通过对富文本中包含的图片进行居中处理,可以有效解决现有技术中存在的图片不居中的问题,进一步,本专利技术基于自动排版样式菜单对处理后的富文本进行自动排版,并进行样式渲染,能够进一步解决现有技术存在的富文本样式无法渲染等问题。
[0013]对应于上述提供的基于富文本编辑器的自动排版方法,本专利技术还提供了两种实施系统,具体如下:其中,一种基于富文本编辑器的自动排版系统,包括:初始化操作模块,用于对富文本编辑器进行初始化操作;富文本解析模块,用于获取富文本,并解析所述富文本得到解析对象节点数据;标签

格式处理模块,用于对所述解析对象节点数据进行标签过滤和格式去除处理;居中处理模块,用于对所述富文本中包含的图片进行居中处理;自动排版样式菜单设置模块,用于采用JavaScript脚本设置初始化后的富文本编辑器的自动排版样式菜单;排版

渲染模块,用于基于所述自动排版样式菜单对处理后的富文本进行自动排版,并进行样式渲染;所述处理后的富文本包括:进行标签过滤和格式去除处理后的富文本和图片居中处理的富文本。
[0014]另一种基于富文本编辑器的自动排版系统,包括:处理器和存储器;所述存储器中存储有用于计算机软件程序;所述计算机软件程序用于执行上述提
供的基于富文本编辑器的自动排版方法;所述处理器与所述存储器连接;所述处理器用于调取和执行所述计算机软件程序。
[0015]因本专利技术提供的两种基于富文本编辑器的自动排版系统达到的技术效果与上述提供的基于富文本编辑器的自动排版方法达到的技术效果相同,故在此不再进行赘述。
附图说明
[0016]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0017]图1为本专利技术提供的基于富文本编辑器的自动排版方法的流程图;图2为本专利技术实施例提供的基于富文本编辑器的自动排版方法的实施步骤框架图;图3为本专利技术实施例提供的富文本编辑器自动排版中转义字符还原工作流程图;图4为本专利技术提供的基于富文本编辑器的自动排版系统的结构示意图。
具体实施方式
[0018]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0019]本专利技术的目的是提供一种基于富文本编辑器的自动排版方法和系统,以解决现有技术富文本编辑器的内容自动排版过程中存在的样式错乱、布局混乱、内容错位、图片不居中、富文本样式无法渲染等问题,进而提升富文本自动排版后的准确性和安全性。
[本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于富文本编辑器的自动排版方法,其特征在于,包括:对富文本编辑器进行初始化操作;获取富文本,并解析所述富文本得到解析对象节点数据;对所述解析对象节点数据进行标签过滤和格式去除处理;对所述富文本中包含的图片进行居中处理;采用JavaScript脚本设置初始化后的富文本编辑器的自动排版样式菜单;基于所述自动排版样式菜单对处理后的富文本进行自动排版,并进行样式渲染;所述处理后的富文本包括:进行标签过滤和格式去除处理后的富文本和图片居中处理的富文本。2.根据权利要求1所述的基于富文本编辑器的自动排版方法,其特征在于,还包括:采用预先设置的跨站脚本黑名单关键词列表对所述解析对象节点数据进行过滤,以删除符合跨站脚本黑名单关键词的字符串。3.根据权利要求2所述的基于富文本编辑器的自动排版方法,其特征在于,采用预先设置的跨站脚本黑名单关键词列表对所述解析对象节点数据进行过滤,以删除符合跨站脚本黑名单关键词的字符串,具体包括:遍历所述解析对象节点数据中的对象节点,对所述对象节点中符合预先设置的跨站脚本黑名单关键词列表的字符串采用replace函数进行过滤处理。4.根据权利要求1所述的基于富文本编辑器的自动排版方法,其特征在于,所述对富文本编辑器进行初始化操作,具体包括:采用JavaScript脚本,初始化富文本编辑器的操作菜单,通过addListener绑定用于监听用户操作的处理事件。5.根据权利要求4所述的基于富文本编辑器的自动排版方法,其特征在于,所述获取富文本,并解析所述富文本得到解析对象节点数据,具体包括:获取所述富文本中的字符串,采用初始化后的所述富文本编辑器对所述字符串进行解析,得到解析对象节点数据;所述解析对象节点数据包括:标签数据和标签内容。6.根据权利要求5所述的基于富文本编辑器的自动排版方法,其特征在于,所述获取所述富文本中的字符串,采用初始化后的所述富文本编辑器对所述字符串进行解析,得到解析对象节点数据,具体包括:当前初始化富文本编辑器中的文本选择被改变时,生成触发事件;基于所述触发事件获取富文本变化,并进行字符串解析得到解析对象节点数据。7.根据权利要求6所述的基于富文本...

【专利技术属性】
技术研发人员:王涛朱春华程晓梅刘迎雪曾繁诚
申请(专利权)人:山东捷瑞数字科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1