富文本渲染方法、装置、电子设备以及存储介质制造方法及图纸

技术编号:31229495 阅读:13 留言:0更新日期:2021-12-08 09:58
本公开提供了一种富文本渲染方法,包括:将原始富文本信息转换成具有预设层级结构的文本字段。再利用预先构建的解析器对文本字段进行递归解析,获得富文本标签,文本字段包括层级嵌套的富文本标签。最后基于富文本标签的配置规则,渲染原始富文本信息。本公开还提供了一种富文本渲染装置、电子设备及计算机可读存储介质。存储介质。存储介质。

【技术实现步骤摘要】
富文本渲染方法、装置、电子设备以及存储介质


[0001]本公开涉及计算机
,更具体地,涉及一种富文本渲染方 法、装置、电子设备以及存储介质。

技术介绍

[0002]富文本格式(RTF,Rich Text Format),又称多文本格式,是由 微软公司开发的跨平台文档格式,是一种可以在不同的设备、不同的 操作系统和不同的应用程序之间互相传输、查看文本和图形文档格式。 常见地,在微信前端界面向用户展示富文本信息时,一般通过官方提 供的rich

text组件对原始的富文本代码进行渲染。
[0003]在实现本公开构思的过程中,专利技术人发现相关技术中至少存在如 下问题:rich

text组件的用户交互性不友好,不支持事件,且部分富 文本标签无法被解析,同时也无法实现可配置地解析富文本里的标签 信息。在面对富文本里包含的复杂标签信息时,需要使用包含大量模 板的解析语言进行迭代解析,导致渲染组件的体积过大且不灵活。

技术实现思路

[0004]有鉴于此,本公开提供了一种灵活轻量且可配置的富文本渲染方 法和装置。
[0005]本公开的一个方面提供了一种富文本渲染方法,包括:将原始富 文本信息转换成具有预设层级结构的文本字段;利用预先构建的解析 器对所述文本字段进行递归解析,获得富文本标签;基于所述富文本 标签的配置规则,渲染所述原始富文本信息。
[0006]根据本公开的实施例,所述解析器为具有Tree结构的递归式遍历 组件。
[0007]根据本公开的实施例,所述利用预先构建的解析器对所述文本字 段进行递归解析,获得富文本标签,包括:利用所述遍历组件对所述 文本字段的各层级进行递归遍历,获得所述文本字段各层级包含的富 文本标签;其中,所述文本字段包括层级嵌套的富文本标签。
[0008]根据本公开的实施例,所述基于所述富文本标签的配置规则,渲 染所述原始富文本信息,包括:响应于用户配置的指令,加载与所述 指令对应的渲染组件;利用所述渲染组件,基于所述富文本标签的配 置规则,渲染所述原始富文本信息。
[0009]根据本公开的实施例,所述渲染组件包括文字组件、图片组件和 视频组件。
[0010]根据本公开的实施例,所述将原始富文本信息转换成具有预设层 级结构的文本字段,包括:将原始富文本信息转换成栈数据;将所述 栈数据分发成不同类型的节点数据;解析所述节点数据,得到所述节 点数据包含的属性和事件;将所述属性和所述事件转换成具有预设层 级结构的文本字段。
[0011]根据本公开的实施例,所述节点数据的类型包括文本节点类型和 元素节点类型。
[0012]本公开的另一个方面提供了一种富文本渲染装置,包括:转换模 块,将原始富文本信息转换成具有预设层级结构的文本字段;解析模 块,利用预先构建的解析器对所述文本字段进行递归解析,获得富文 本标签;渲染模块,基于所述富文本标签的配置规则,渲染
所述原始 富文本信息。
[0013]本公开的另一方面提供了一种电子设备,所述电子设备包括一个 或多个处理器;以及存储器,用于存储一个或多个程序,其中,当所 述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或 多个处理器实现权利要求上述任一项所述的方法。
[0014]本公开的另一方面提供了一种计算机可读存储介质,存储有计算 机可执行指令,所述指令在被执行时用于实现如上所述的方法。
[0015]根据本公开的实施例,因为采用了利用递归式遍历组件对具有层 级结构的文本字段进行解析的技术手段,所以至少部分地克服了现有 技术中解析方案不灵活,且调用大量层级关系和模板对富文本信息进 行解析而造成解析组件体积过大的技术问题,进而达到了支持富文本 标签可配置、可扩展、灵活地进行富文本渲染,接入使用简单方便的 技术效果。
附图说明
[0016]通过以下参照附图对本公开实施例的描述,本公开的上述以及其 他目的、特征和优点将更为清楚,在附图中:
[0017]图1示意性示出了可以应用本公开的用于富文本渲染的方法和装 置的示例性系统架构;
[0018]图2示意性示出了根据本公开实施例的富文本渲染方法的流程图;
[0019]图3示意性的示出了根据本公开实施例的解析器的结构示意图;
[0020]图4A示意性示出了根据本公开实施例的获得文本字段的方法的流 程图;
[0021]图4B示意性示出了根据本公开实施例的渲染富文本信息的方法的 流程图;
[0022]图5示意性示出了根据本公开实施例的富文本渲染装置的框图;
[0023]图6A示意性示出了根据本公开实施例的转换模块的框图;
[0024]图6B示意性示出了根据本公开实施例的渲染模块的框图;以及
[0025]图7示意性示出了根据本公开实施例的适于富文本渲染装置的电 子设备的框图。
具体实施方式
[0026]以下,将参照附图来描述本公开的实施例。但是应该理解,这些 描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述 中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全 面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情 况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术 的描述,以避免不必要地混淆本公开的概念。
[0027]在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本 公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、 操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特 征、步骤、操作或部件。
[0028]在此使用的所有术语(包括技术和科学术语)具有本领域技术人 员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解 释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于 刻板的方式来解释。
[0029]在使用类似于“A、B和C等中至少一个”这样的表述的情况下, 一般来说应该按照
本领域技术人员通常理解该表述的含义来予以解释 (例如,“具有A、B和C中至少一个的系统”应包括但不限于单独 具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有 B和C、和/或具有A、B、C的系统等)。在使用类似于“A、B或C 等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术 人员通常理解该表述的含义来予以解释(例如,“具有A、B或C中 至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具 有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C 的系统等)。
[0030]本公开的实施例提供了一种用于富文本渲染方法以及装置。该方法 包括解析原始富文本的过程和渲染富文本的过程。在解析原始富文本的 过程中,将原始富文本信息转换成具有预设层级结构的文本字段,利用 预先构建的解析器对文本字段进行递归解析,获得富文本标签。在解析 原始富文本之后,基于富文本标签的配置规则,渲染原始富文本信息本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种富文本渲染方法,包括:将原始富文本信息转换成具有预设层级结构的文本字段;利用预先构建的解析器对所述文本字段进行递归解析,获得富文本标签;基于所述富文本标签的配置规则,渲染所述原始富文本信息。2.根据权利要求1所述的方法,其中,所述解析器为具有Tree结构的递归式遍历组件。3.根据权利要求2所述的方法,其中,所述利用预先构建的解析器对所述文本字段进行递归解析,获得富文本标签,包括:利用所述遍历组件对所述文本字段的各层级进行递归遍历,获得所述文本字段各层级包含的富文本标签;其中,所述文本字段包括层级嵌套的富文本标签。4.根据权利要求1所述的方法,其中,所述基于所述富文本标签的配置规则,渲染所述原始富文本信息,包括:响应于用户配置的指令,加载与所述指令对应的渲染组件;利用所述渲染组件,基于所述富文本标签的配置规则,渲染所述原始富文本信息。5.根据权利要求4所述的方法,其中,所述渲染组件包括文字组件、图片组件和视频组件。6.根据权利要求1所述的方法,其中,所...

【专利技术属性】
技术研发人员:张斯尚
申请(专利权)人:北京京东世纪贸易有限公司
类型:发明
国别省市:

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

1