CN114925656B - 富文本显示方法、装置、设备和存储介质 - Google Patents
富文本显示方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN114925656B CN114925656B CN202210669502.8A CN202210669502A CN114925656B CN 114925656 B CN114925656 B CN 114925656B CN 202210669502 A CN202210669502 A CN 202210669502A CN 114925656 B CN114925656 B CN 114925656B
- Authority
- CN
- China
- Prior art keywords
- text
- array
- rich
- character
- content
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/103—Formatting, i.e. changing of presentation of documents
- G06F40/106—Display of layout of documents; Previewing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
- G06F16/90344—Query processing by using string matching techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本公开涉及计算机技术领域,公开了一种富文本显示方法、装置、设备和存储介质。该方法包括:获取原始文本内容;其中,原始文本内容包含富文本标签;基于原始文本内容,对文本字符以及文本字符对应的富文本标签进行提取,以生成富文本数组;其中,富文本数组中的第一数组元素为包含富文本标签的目标文本内容,且各目标文本内容中的文本字符以预设数量递增;按照预设时间间隔,依次读取富文本数组中的第一数组元素,并基于第一数组元素中的富文本标签渲染目标文本内容,并显示渲染后的目标文本内容。通过上述技术方案,实现了按照字符逐渐增多显现的打字机显示方式显示嵌入了富文本标签的文本内容,提高了文本内容的突出显示效果和显示准确性。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及一种富文本显示方法、装置、设备和存储介质。
背景技术
为了满足突出显示文本内容的需求,可以采用富文本的方式来渲染文本内容。为了进一步提高用户对文本内容的关注度,可以采用文本内容逐渐显现的显示方式。例如,可以采用逐字显示的打字机效果的文本显示方式来显示富文本的文本内容。
在一些渲染引擎中,富文本是通过嵌入在文本内容中的成对的富文本标签来实现文字颜色、加粗、斜体等功能的。所以,这些渲染引擎需要对富文本的文本内容进行整体解析,才能解析到配对的富文本标签,并将该配对的富文本标签对应的文本内容显示为富文本指定的格式。而上述文本内容逐渐显现的显示方式要求部分字符(如逐字)解析和渲染。这就使得上述各渲染引擎无法正确解析富文本的文本内容,导致该富文本的文本内容无法以逐渐显现的方式进行正确显示。
发明内容
为了解决上述渲染引擎无法以文本内容逐渐显现的方式正确显示富文本的文本内容的技术问题,本公开实施例提供了一种富文本显示方法、装置、设备和存储介质。
第一方面,本公开提供了一种富文本显示方法,该方法包括:
获取原始文本内容;其中,所述原始文本内容包含富文本标签;
基于所述原始文本内容,对文本字符以及所述文本字符对应的所述富文本标签进行提取,以生成富文本数组;其中,所述富文本数组中的第一数组元素为包含所述富文本标签的目标文本内容,且各所述目标文本内容中的所述文本字符以预设数量递增;
按照预设时间间隔,依次读取所述富文本数组中的所述第一数组元素,并基于所述第一数组元素中的所述富文本标签渲染所述目标文本内容,并显示渲染后的所述目标文本内容。
第二方面,本公开提供了一种富文本显示装置,该装置包括:
原始文本内容获取模块,用于获取原始文本内容;其中,所述原始文本内容包含富文本标签;
富文本数组生成模块,用于基于所述原始文本内容,对文本字符以及所述文本字符对应的所述富文本标签进行提取,以生成富文本数组;其中,所述富文本数组中的第一数组元素为包含所述富文本标签的目标文本内容,且各所述目标文本内容中的所述文本字符以预设数量递增;
文本内容显示模块,用于按照预设时间间隔,依次读取所述富文本数组中的所述第一数组元素,并基于所述第一数组元素中的所述富文本标签渲染所述目标文本内容,并显示渲染后的所述目标文本内容。
第三方面,本公开提供了一种的电子设备,该电子设备包括:
处理器;以及
存储程序的存储器,
其中,所述程序包括指令,所述指令在由所述处理器执行时使所述处理器执行本公开任意实施例所说明的富文本显示方法。
第四方面,本公开提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行本公开任意实施例所说明的富文本显示方法。
本公开实施例中提供的一个或多个技术方案,能够在富文本的文本内容的显示处理过程中,将嵌入了富文本标签的原始文本内容解析为包含多个第一数组元素的富文本数组,且每个第一数组元素均为嵌入了富文本标签的、包含字符数量递增的部分文本字符的目标文本内容,然后按照预设时间间隔依次解析各目标文本内容并显示对解析的目标文本内容的渲染结果,实现了按照字符逐渐增多显现的打字机显示方式显示嵌入了富文本标签的文本内容,提高了文本内容的突出显示效果和显示准确性,从而提高了用户对文本内容的关注程度。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本公开实施例提供的一种富文本显示方法的流程图;
图2是本公开实施例提供的另一种富文本显示方法的流程图;
图3是本公开实施例提供的一种富文本显示装置的结构示意图;
图4是本公开实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
本公开实施例提供的富文本显示方法,主要适用于按照字符数量逐渐增多的显示方式,对富文本标签成对嵌入文本内容的富文本进行文本显示的场景,例如可以适用于通过诸如Unity、Cocos等游戏引擎进行打字机效果的富文本显示的场景。本公开实施例提供的富文本显示方法可以由富文本显示装置来执行,该装置可以由软件和/或硬件的方式实现,该装置可以集成在具有显示功能的电子设备中,例如智能手机、掌上电脑、平板电脑、可穿戴设备、笔记本电脑、数字电视、智能家居设备或台式电脑等。
图1是本公开实施例提供的一种富文本显示方法的流程图。参见图1,该富文本显示方法具体包括:
S110、获取原始文本内容,该原始文本内容包含富文本标签。
其中,原始文本内容是待显示的文本内容的配置文本信息,其中包含文本字符以及对文本字符进行显示格式限定的富文本标签。富文本标签是对文本的显示格式进行限定的格式标识信息。在诸如Unity和Cocos等游戏渲染引擎中,富文本标签是成对使用的。例如,对于显示颜色的格式限定,富文本标签是成对的<color=red>和</color>。
具体地,在一些应用场景下,开发人员可以利用配置文件预置需要显示的文本内容及其显示格式。此时,电子设备可以从配置文件中读取得到原始文本内容。在另一些应用场景下,开发人员可以仅预置文本的显示格式,而文本内容从网络端拉取或由用户输入。此时,电子设备或服务端可以从配置文件中获得显示格式的相关信息,并通过网络端或人机交互接口来获得文本内容,且按照渲染引擎对应的富文本内容的要求,融合显示格式的相关信息和文本内容,生成原始文本内容。如果是服务端生成的原始文本内容,则电子设备从服务端拉取得到原始文本内容。
原始文本内容中,富文本标签是嵌入在文本内容中的。例如,原始文本内容可以是:【<size=22>珠峰</size>被称为<b>“人类<i>最后的</i>净土”</b>。】,其中,<size=22>和</size>表示【珠峰】的显示字号为22号,<b>和</b>表示加粗显示【“人类<i>最后的</i>净土”】,<i>和</i>表示斜体显示【最后的】,那么该原始文本内容的富文本显示样式可以为:
S120、基于原始文本内容,对文本字符以及文本字符对应的富文本标签进行提取,以生成富文本数组;该富文本数组中的第一数组元素为包含富文本标签的目标文本内容,且各目标文本内容中的文本字符以预设数量递增。
其中,预设数量是预先设定的数量值,其用于对每次显示的文本字符的递增数量进行限定。例如,当预设数量取值为1时,每次显示的文本字符逐字递增,呈现逐字打印的打字机显示效果。文本字符是构成文本内容的单位字符。例如,上述原始文本内容的示例中,每个汉字均为一个文本字符。富文本数组是用于存储包含富文本标签的文本内容的数组,其中的每个数组元素(称为第一数组元素)均存储包含富文本标签的目标文本内容,并且,任一第一数组元素中的目标文本内容中的文本字符,比该第一数组元素的前一相邻的第一数组元素中的目标文本内容中的文本字符多预设数量个。
具体地,参见上述原始文本内容的示例,富文本标签与文本字符穿插组成了原始文本内容。渲染引擎在解析该原始文本内容时,需要对其进行整体解析,以获知配对的富文本标签,并按照该配对的富文本标签来渲染对应的文本字符。按照打字机显示效果的要求,需要渲染引擎按照预设数量来解析文本字符。这样,渲染引擎无法解析到配对的富文本标签,便会将已解析到的富文本标签作为普通的字符进行渲染和显示,从而导致原始文本内容的解析、渲染与显示均出错。
基于上述情况,本公开实施例中会先解析原始文本内容,将其中包含的文本字符按照预设数量进行分解,并分批次地进行相应递增数量的文本字符及其对应的富文本标签的提取与组合,得到富文本数组。该富文本数组中的每个第一数组元素均是包含了部分文本字符及其对应的成对的富文本标签的目标文本内容,其可用于后续的文本渲染与显示。这样,就将一个原始文本内容分解为多个目标文本内容,后续电子设备无需再局部解析富文本内容,而是整个解析目标文本内容,从而可避免富文本标签无法正确解析导致的文本内容显示错误的问题。
例如,对于上述原始文本内容的示例【<size=22>珠峰</size>被称为<b>“人类<i>最后的</i>净土”</b>。】,以预设数量为1示例,对其进行分批次地文本字符和富文本标签的提取,可得到富文本数组A1。为了便于理解,可以表格形式呈现富文本数组中的各第一数组元素,如表1或表2所示。表1中的各第一数组元素是将文本字符逐字插入适配的富文本标签之间;表2中的各第一数组元素是逐字配置配对的富文本标签。由表1或表2可知,对于每两个相邻的第一数组元素,后一个第一数组元素中的文本字符较前一个第一数组元素中的文本字符多一个;而且,每个第一数组元素中的任一个文本字符均配置了成对的富文本标签。
表1富文本数组A1
表2富文本数组A1
S130、按照预设时间间隔,依次读取富文本数组中的第一数组元素,并基于第一数组元素中的富文本标签渲染目标文本内容,并显示渲染后的目标文本内容。
其中,预设时间间隔是指预先设定的时长,其是相邻两个第一数组元素进行渲染与显示的时间间隔,用于控制预设数量的文本字符追加显示的速度。
具体地,根据上述说明,电子设备将原始文本内容分解为多个第一数组元素中的目标文本内容。然后,电子设备可按照预设时间间隔来逐个渲染目标文本内容并显示。
例如,电子设备在渲染一个目标文本内容并显示渲染结果后,可进行计时,并在计时时长达到预设时间间隔时,读取下一个第一数组元素中的目标文本内容,并对其进行渲染,且在相同的显示位置处显示该新的渲染结果,以覆盖之前已经显示的文本内容,向用户呈现出预设数量的文本字符逐渐打印显示的打字机显示效果。
在一些实施例中,S130通过遍历富文本数组中的各第一数组元素来实现,且遍历过程中,针对每个遍历到的第一数组元素执行如下步骤A的操作,和/或针对每个遍历到的第一数组元素执行如下步骤B和步骤C的操作,以按照预设时间间隔逐条覆盖显示渲染后的各目标文本内容,实现原始文本内容的打字机显示效果。
步骤A、若遍历到的第一数组元素为富文本数组中的首个数组元素,则读取遍历到的第一数组元素,并基于遍历到的第一数组元素中的富文本标签渲染目标文本内容,且在文本显示区域中显示渲染后的目标文本内容。
具体地,电子设备在生成富文本数组后,或者处理完一个目标文本内容并显示后,从富文本数组中按序获取一条新的第一数组元素,并先判断该第一数组元素是否是富文本数组的第一个数组元素(即首个数组元素)。若是,那么电子设备直接读取该第一数组元素中的目标文本内容。然后,解析出该目标文本内容中的成对的富文本标签以及该成对的富文本标签对应的文本字符,并调用渲染引擎,按照该成对的富文本标签对应的显示格式对该文本字符进行渲染。之后,将渲染结果显示在文本显示区域中。
例如,对于表1中的富文本数组A1,如果电子设备读取的是数组下标为[0]的数组元素,即A1[0],那么电子设备按照上述过程,在文本显示区域中显示22字号的“珠”,即:珠。
步骤B、若遍历到的第一数组元素不为富文本数组中的首个数组元素,则按照预设单位时长,从目标时间开始累积计时器的计时时长。
其中,预设单位时长是预先设定的计时单位时长。目标时间包括0或当前系统时间,即计时器的计时起始时刻为0或者当前系统时间。
具体地,如果电子设备判断获取的第一数组元素不是富文本数组的首个数组元素,那么,电子设备利用计时器,从目标时间开始计时,并不断累加预设单位时长,以不断更新计时器的计时时长。
在一些实施例中,在步骤B之前,该富文本显示方法还包括:基于多媒体内容的帧间隔确定预设单位时长。
其中,多媒体内容的播放过程与文本显示过程并发执行。该多媒体内容包括音频,动态图片,视频,以及音频与动态图片的组合中的任一个。帧间隔是指多媒体内容的相邻两帧之间的间隔时长。
具体地,在一些诸如游戏、直播、视频播放等场景中,会播放多媒体内容,同时会在该多媒体内容所在页面的某一位置处显示文本内容,以对用户进行相关信息的介绍或提示等。此时,为了更加流畅地以打字机显示效果显示文本内容,避免出现多媒体内容播放节奏和文本显示节奏不一致导致的视觉卡顿效果,本实施例中将多媒体内容的帧间隔设置为预设单位时长。
步骤C、若确定计时时长与目标时间的时间差大于或等于预设时间间隔,则读取遍历到的第一数组元素,并基于遍历到的第一数组元素中的富文本标签渲染目标文本内容,且在文本显示区域中重新显示渲染后的目标文本内容。
具体地,电子设备每更新一次计时器的计时时长,便计算将该计时时长与目标时间之间的时间差,并将该时间差与预设时间间隔进行比较。如果时间差小于预设时间间隔,说明还未达到追加显示预设数量的文本字符的条件,此时继续累积计时时长。如果时间差大于或等于预设时间间隔,说明达到追加显示预设数量的文本字符的条件,此时电子设备读取遍历到的第一数组元素中的目标文本内容。然后,解析出该目标文本内容中的成对的富文本标签以及该成对的富文本标签对应的文本字符,并调用渲染引擎,按照该成对的富文本标签对应的显示格式对该文本字符进行渲染。之后,将渲染结果显示在文本显示区域中,以覆盖已经显示的文本。
例如,对于表1中的富文本数组A1,如果电子设备读取的是数组下标为[2]的数组元素,即A1[2],那么电子设备按照上述过程,在文本显示区域中显示22字号的“珠峰”和默认字号的“被”,即:珠峰被。
在一些实施例中,在步骤C之前,该富文本显示方法还包括:基于多媒体内容的播放时长和原始文本内容包含的文本字符的数量的比值,确定预设时间间隔。
具体地,根据上述说明,电子设备播放多媒体内容的同时,会独立地进行文本内容的显示。该情况下,为了提高多媒体内容和文本内容之间的显示同步性,本实施例中根据多媒体内容来动态调整预设时间间隔,以动态调整文本内容的显示速度。具体实施时,电子设备获取多媒体内容的播放时长以及原始文本内容中包含的文本字符的数量。然后,以播放时长除以文本字符的数量,得到两者的比值。之后,将该比值转换为时间维度,所得结果作为预设时间间隔。
本公开实施例提供的上述富文本显示方法,能够在富文本的文本内容的显示处理过程中,将嵌入了富文本标签的原始文本内容解析为包含多个第一数组元素的富文本数组,且每个第一数组元素均为嵌入了富文本标签的、包含字符数量递增的部分文本字符的目标文本内容,然后按照预设时间间隔依次解析各目标文本内容并显示对解析的目标文本内容的渲染结果,实现了按照字符逐渐增多显现的打字机显示方式显示嵌入了富文本标签的文本内容,提高了文本内容的突出显示效果和显示准确性,从而提高了用户对文本内容的关注程度。
图2是本公开实施例提供的又一种富文本显示方法的流程图。该富文本显示方法对“基于原始文本内容,对文本字符以及文本字符对应的富文本标签进行提取,以生成富文本数组”进行了进一步优化。其中与上述各实施例相同或相应的术语的解释在此不再赘述。参见图2,该富文本显示方法包括:
S210、获取原始文本内容。
S220、从原始文本内容中提取富文本标签,并利用提取的各富文本标签生成第一数组。
具体地,为了便于后续进行原始文本内容的解析和富文本数组的生成,本实施例中利用正则表达式对原始文本内容进行富文本标签匹配。例如,按照原始文本内容中富文本标签的格式,将正则表达式的匹配规则设置为“</?.->”。然后,电子设备按照匹配规则对原始文本内容进行匹配识别,得到原始文本内容中包含的各富文本标签,并创建新的数组(即第一数组)来存储这些富文本标签。
例如,对于上述原始文本内容的示例,可得到第一数组:[<size=22>,</size>,<b>,<i>,</i>,</b>]。
S230、利用第一预设字符替代原始文本内容中的富文本标签,生成替换文本内容。
其中,第一预设字符是预先设置的、计算机可直接识别的字符。为了避免后续处理过程中混淆,该第一预设字符需与原始文本内容中的字符进行区分,例如第一预设字符可以设置为原始文本内容中未出现过的字符。示例性地,为了进一步提高后续过程中的字符识别效率,可将第一预设字符设置为与原始文本内容中包含的文本字符所属的字符类型不同类型的字符。例如,可将第一预设字符设置为
具体地,鉴于富文本标签是由多个字符组成的,电子设备容易将其识别为字符串进行处理,本实施例中便利用第一预设字符替代各富文本标签。即电子设备遍历原始文本内容,并在遍历过程中识别各个富文本标签,且每识别出一个富文本标签,便将其替换为第一预设字符。这样,原始文本内容便可转换为包含多个第一预设字符的替换文本内容。
S240、基于第一预设字符、第一数组和第二预设字符,遍历替换文本内容,生成第二数组和第三数组。
其中,第二预设字符是另一个预先设置的、计算机可直接识别的字符。示例性地,为了后续处理过程中可以正确组合富文本标签和文本字符,第二预设字符可设置为无法打印显示的占位符,例如,可以将第二预设字符设置为空字符。第二数组和第三数组均是区别于第一数组和富文本数组的数组,且第二数组用于存储富文本标签和第二预设字符,第三数组用于存储替换文本内容中的各文本字符。
具体地,为了能够将原始文本内容拆解为多个目标文本内容,例如逐字递增地组合富文本标签和对应的文本字符,本实施例中借助第一数组和第二预设字符,对替换文本内容进行逐个字符地遍历处理。遍历过程中,针对每个遍历到的字符,可根据该字符属于第一预设字符或文本字符的判断结果,将该字符对应的第一数组中的富文本标签或第二预设字符,按序存储至第二数组,或者,将该字符本身按序存储至第三数组。
例如,针对上述原始文本内容的示例【<size=22>珠峰</size>被称为<b>“人类<i>最后的</i>净土”</b>。】,可得到第二数组A2和第三数组A3。为了便于理解,同样以表格形式呈现第二数组A2和第三数组A3中的各数组元素,分别如表3和表4所示。
在一些实施例中,上述生成第二数组和第三数组的过程可以实现为:遍历替换文本内容中的各目标字符,且在遍历过程中针对每个遍历到的目标字符执行如下步骤D或步骤E。这里的目标字符是替换文本内容中的任一字符。
步骤D、在遍历到的目标字符与第一预设字符匹配一致的情况下,从第一数组中获取下标索引值对应的富文本标签,并将获取的富文本标签存储至第二数组,且下标索引值自增1。
其中,下标索引值是指向数组的下标的索引值,其初始值与数组的第一个数组元素的下标一致,例如取值为0。
具体地,电子设备将遍历到的目标字符与第一预设字符进行匹配。如果两者匹配一致,说明该目标字符是替换富文本标签的第一预设字符。那么,电子设备就可以根据下标索引值,从第一数组中读取对应的富文本标签。然后,将该富文本标签“<size=22>”按序存储至第二数组中的空白数组元素中。并且,将下标索引值自增1,以便进行下一个富文本标签的正确读取。
步骤E、在遍历到的目标字符与第一预设字符匹配不一致的情况下,将遍历到的目标字符存储至第三数组,且将第二预设字符存储至第二数组。
具体地,如果电子设备判断遍历到的目标字符与第一预设字符不匹配,说明该目标字符是文本字符。那么,电子设备可将该目标字符按序存储至第三数组中的空白数组元素中。同时,可将第二预设字符按序存储至第二数组中的空白数组元素中进行占位。
当目标字符为替换文本内容中的第一个字符时,下标索引值为初始值0,第二数组和第三数组均为空数组。此时,该目标字符与第一预设字符匹配一致。电子设备可根据下标索引值0,从第一数组中读取得到第一个富文本标签“<size=22>”,然后将其存储至第二数组A2的第一个空白的数组元素中,即为A2[0]赋值“<size=22>”。然后,将下标索引值更新为1。
随着遍历的推进,当目标字符为替换文本内容中的第二个字符时,该目标字符与第一预设字符匹配不一致。此时,电子设备便将该目标字符“珠”存储至第三数组A3的第一个空白的数组元素中,即为A3[0]赋值“珠”。同时,在第二数组A2的下一个空白的数组元素中存储空字符,即为A2[1]赋值空字符。
随着遍历的推进,当目标字符为替换文本内容中的第四个字符时,下标索引值为1,第二数组A2的下一个空白的数组元素为A2[3]。此时,目标字符与第一预设字符也匹配一致。那么,电子设备可根据下标索引值1,从第一数组中读取得到第二个富文本标签“</size>”,然后将其存储至A2[3]中,即为A2[3]赋值“</size>”。
按照上述过程进行替换文本内容的遍历推进,便可得到如表3所示的第二数组A2和表4所示的第三数组A3。
S250、遍历第三数组中的各文本字符,且在每个文本字符的处理过程中遍历第二数组,以组合遍历到的文本字符和第二数组中的各富文本标签,生成富文本数组。
具体地,获得上述第二数组和第三数组后,可通过遍历这两个数组来组合文本字符及其对应的富文本标签,并且每次执行组合操作时,以预设数量的文本字符为处理单位。例如,预设数量为1时,每次组合只需增加1个文本字符及其对应的富文本标签即可;如果预设数量为2,那么每次组合时需增加2个文本字符及其对应的富文本标签等等。
在一些实施例中,电子设备可预先记录第二数组中的第二预设字符和第三数组中的文本字符之间的数组元素的映射关系,并且在遍历过程中,根据该映射关系进行富文本标签和文本字符的组合。
当预设数量为1时,对于表3和表4所示的第二数组和第三数组,按照原始文本内容,可建立A2[1]-A3[0]、A2[2]-A3[1]、A2[4]-A3[2]、…、A2[10]-A3[7]、…、A2[20]-A3[14]的映射关系。然后,在遍历第三数组的过程中,每遍历到一个数组元素,便拼接第二数组中的各数组元素,并且根据该映射关系,利用第三数组中的该数组元素替换掉第二数组中的对应数组元素的内容。然后,将该次遍历所得结果与之前各遍历过程所得结果均按序拼接起来,得到与第三数组中的该数组元素相同的数组下标的富文本数组中的第一数组元素的内容。
例如,遍历到A3[0]时,按序拼接第二数组A2中的各数组元素,且利用该A3[0]的数组元素的内容“珠”替换掉A2[1],便可得到“<size=22>珠</size><b><i></i></b>”,并将该结果作为表2所示的富文本数组A1[0]。
再如,遍历到A3[2]时,按序拼接第二数组A2中的各数组元素,且利用该A3[2]的数组元素的内容“珠”替换掉A2[4],便可得到“<size=22></size>被<b><i></i></b>”,并将该结果与之间遍历所得的结果进行拼接,得到最终的拼接结果“<size=22>珠</size><b><i></i></b><size=22>峰</size><b><i></i></b><size=22></size>被<b><i></i></b>”,作为表2所示的富文本数组A1[2]。
按照上述过程进行第三数组的遍历推进,便可得到表2所示的富文本数组A1。
在另一些实施例中,在预设数量为1的情况下,上述生成富文本数组A1的过程可通过两层遍历来实现,并且在遍历过程中通过逐步更新第二数组来组合富文本标签和文本字符。即电子设备首先遍历第三数组中的各文本字符,并且在对每个遍历到的文本字符的遍历过程中再遍历整个第二数组,以组合已经遍历过的文本字符和各富文本标签,便可得到富文本数组中的每个第一数组元素。
在第二层遍历过程中,电子设备针对第二数组中的每个数组元素(即第二数组元素)可执行:在遍历到的第二数组元素不为第二数组中的首个第二预设字符的情况下,将遍历到的第二数组元素拼接至目标数组元素;其中,目标数组元素为富文本数组中与文本字符对应的数组元素,第二预设字符为空字符;在遍历到的第二数组元素为第二数组中的首个第二预设字符的情况下,将遍历到的文本字符拼接至目标数组元素,且利用遍历到的文本字符替换第二数组元素,以更新第二数组。
其中,目标数组元素为富文本数组中与文本字符对应的数组元素;第二预设字符为空字符。
具体地,电子设备先对遍历到的第二数组元素进行是否首个空字符的判断。如果不是首个空字符,那么可直接将该第二数组元素与富文本数组中目标数组元素中已存储的内容拼接。如果是首个空字符,那么将第三数组中遍历到的文本字符与富文本数组中目标数组元素中已存储的内容拼接。同时,利用该文本字符替换该第二数组元素的内容,以更新第二数组。
按照上述过程循环遍历第二数组,便可将第三数组中遍历到的文本字符与第二数组中的各富文本标签进行正确的组合,得到富文本数组中的对应的第一数组元素。
例如,对于表3和表4所示的第二数组和第三数组,遍历A3[0]的过程中,电子设备按序遍历第二数组中的A2[0]~A2[20]。对于A2[0],其不是第二数组中的首个空字符,则将其内容“<size=22>”直接存储至A1[0]。对于A2[1],其是第二数组中的首个空字符,则将A3[0]中的“珠”直接拼接至A1[0],得到“<size=22>珠”。并且,利用该A3[0]中的“珠”替换掉A2[1]中的空字符,得到新的第二数组,以作为第三数组中的下一个文本字符的遍历对象。对于第二数组中的A2[2],其不是第二数组中的首个空字符,则将其内容空字符直接存储至A1[0]。对于第二数组中的A2[3],其不是第二数组中的首个空字符,则将其内容“</size>”继续拼接至A1[0],得到“<size=22>珠</size>”。以此类推,便可得到第一数组元素的内容为“<size=22>珠</size><b><i></i></b>”的A1[0]。
遍历A3[1]的过程中,电子设备按序遍历新的第二数组中的A2[0]~A2[20]。对于A2[0],其不是第二数组中的首个空字符,则将其内容“<size=22>”直接存储至A1[0]。对于A2[1],其也不是第二数组中的首个空字符,则将其内容“珠”直接拼接至A1[0]。对于A2[2],其是第二数组中的首个空字符,则将A3[1]的内容“峰”直接拼接至A1[0],得到“<size=22>珠峰”。并且,利用该A3[1]中的“峰”替换掉A2[2]中的空字符,再得到新的第二数组,以作为第三数组中的下一个文本字符的遍历对象。对于第二数组中的A2[3],其不是第二数组中的首个空字符,则将其内容空字符直接存储至A1[0]。以此类推,便可得到第一数组元素的内容为“<size=22>珠峰</size><b><i></i></b>”的A1[1]。
按照上述过程进行第三数组的遍历推进,便可得到表1所示的富文本数组A1。
S260、按照预设时间间隔,依次读取富文本数组中的第一数组元素,并基于第一数组元素中的富文本标签渲染目标文本内容,并显示渲染后的目标文本内容。
本公开实施例的上述富文本显示方法,先将原始文本内容拆分为仅包含富文本标签和占位符的第二数组和仅包含文本字符的第三数组,再对第二数组和第三数组进行遍历,以按照预设数量组合第三数组中的文本字符和第二数组中的各富文本标签,生成每个第一数组元素仅包含部分文本字符的目标文本内容的富文本数组,简化了富文本内容的拆分与解析的逻辑,提高了各目标文本内容的生成效率,从而进一步提高了原始文本内容以打字机显示效果进行显示的效率。
图3是本公开实施例提供的一种富文本显示装置的结构示意图。参见图3,该富文本显示装置300具体包括:
原始文本内容获取模块310,用于获取原始文本内容;其中,原始文本内容包含富文本标签;
富文本数组生成模块320,用于基于原始文本内容,对文本字符以及文本字符对应的富文本标签进行提取,以生成富文本数组;其中,富文本数组中的第一数组元素为包含富文本标签的目标文本内容,且各目标文本内容中的文本字符以预设数量递增;
文本内容显示模块330,用于按照预设时间间隔,依次读取富文本数组中的第一数组元素,并基于第一数组元素中的富文本标签渲染目标文本内容,并显示渲染后的目标文本内容。
通过本公开实施例提供的上述富文本显示装置,能够在富文本的文本内容的显示处理过程中,将嵌入了富文本标签的原始文本内容解析为包含多个第一数组元素的富文本数组,且每个第一数组元素均为嵌入了富文本标签的、包含字符数量递增的部分文本字符的目标文本内容,然后按照预设时间间隔依次解析各目标文本内容并显示对解析的目标文本内容的渲染结果,实现了按照字符逐渐增多显现的打字机显示方式显示嵌入了富文本标签的文本内容,提高了文本内容的突出显示效果和显示准确性,从而提高了用户对文本内容的关注程度。
在一些实施例中,富文本数组生成模块320包括:
第一数组生成子模块,用于从原始文本内容中提取富文本标签,并利用提取的各富文本标签生成第一数组;
替换文本内容生成子模块,用于利用第一预设字符替代原始文本内容中的富文本标签,生成替换文本内容;其中,第一预设字符所属的字符类型不同于文本字符所属的字符类型;
第二数组生成子模块,用于基于第一预设字符、第一数组和第二预设字符,遍历替换文本内容,生成第二数组和第三数组;其中,第二数组用于存储富文本标签和第二预设字符,第三数组用于存储替换文本内容中的各文本字符;
富文本数组生成子模块,用于遍历第三数组中的各文本字符,且在每个文本字符的处理过程中遍历第二数组,以组合遍历到的文本字符和第二数组中的各富文本标签,生成富文本数组。
在一些实施例中,第二数组生成子模块具体用于:
遍历替换文本内容中的各目标字符,且针对遍历到的目标字符执行:
在遍历到的目标字符与第一预设字符匹配一致的情况下,从第一数组中获取下标索引值对应的富文本标签,并将获取的富文本标签存储至第二数组,且下标索引值自增1;
在遍历到的目标字符与第一预设字符匹配不一致的情况下,将遍历到的目标字符存储至第三数组,且将第二预设字符存储至第二数组。
在一些实施例中,富文本数组生成子模块具体用于:
在预设数量为1的情况下,遍历第三数组中的各文本字符,且针对遍历到的文本字符执行:
遍历第二数组中的各第二数组元素,且针对遍历到的第二数组元素执行:
在遍历到的第二数组元素不为第二数组中的首个第二预设字符的情况下,将遍历到的第二数组元素拼接至目标数组元素;其中,目标数组元素为富文本数组中与文本字符对应的数组元素;第二预设字符为空字符;
在遍历到的第二数组元素为第二数组中的首个第二预设字符的情况下,将遍历到的文本字符拼接至目标数组元素,且利用遍历到的文本字符替换第二数组元素,以更新第二数组;
在遍历完第三数组的情况下,由各目标数组元素构成富文本数组。
在一些实施例中,文本内容显示模块330具体用于:
遍历富文本数组中的各第一数组元素,且针对遍历到的第一数组元素执行:
在遍历到的第一数组元素为富文本数组中的首个数组元素的情况下,读取遍历到的第一数组元素,并基于遍历到的第一数组元素中的富文本标签渲染目标文本内容,且在文本显示区域中显示渲染后的目标文本内容;
在遍历到的第一数组元素不为富文本数组中的首个数组元素的情况下,按照预设单位时长,从目标时间开始累积计时器的计时时长;其中,目标时间包括0或当前系统时间;
在确定计时时长与目标时间的时间差大于或等于预设时间间隔的情况下,读取遍历到的第一数组元素,并基于遍历到的第一数组元素中的富文本标签渲染目标文本内容,且在文本显示区域中重新显示渲染后的目标文本内容。
在一些实施例中,富文本显示装置300还包括帧间隔确定模块,用于:
在遍历到的第一数组元素不为首个数组元素的情况下,按照预设单位时长,从目标时间开始累积计时器的计时时长之前,基于多媒体内容的帧间隔确定预设单位时长;其中,多媒体内容的播放过程与文本显示过程并发执行;且多媒体内容包括音频,动态图片,视频,以及音频与动态图片的组合中的任一个。
在一些实施例中,富文本显示装置300还包括预设时间间隔确定模块,用于:
在确定计时时长与目标时间的时间差大于或等于预设时间间隔的情况下,读取遍历到的第一数组元素,并基于遍历到的第一数组元素中的富文本标签渲染目标文本内容,且在文本显示区域中重新显示渲染后的目标文本内容之前,基于多媒体内容的播放时长和原始文本内容包含的文本字符的数量的比值,确定预设时间间隔。
本公开实施例所提供的富文本显示装置可执行本公开任意实施例所提供的富文本显示方法,具备执行方法相应的功能模块和有益效果。
值得注意的是,上述富文本显示装置的实施例中,所包括的各个模块和子模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能模块/子模块的具体名称也只是为了便于相互区分,并不用于限制本公开的保护范围。
本公开示例性实施例还提供一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器。存储器存储有能够被至少一个处理器执行的计算机程序,计算机程序在被至少一个处理器执行时用于使电子设备执行本公开任意实施例所说明的富文本显示方法。
本公开示例性实施例还提供一种存储有计算机程序的非瞬时计算机可读存储介质,其中,计算机程序在被计算机的处理器执行时用于使计算机执行本公开任意实施例所说明的富文本显示方法。
本公开示例性实施例还提供一种计算机程序产品,包括计算机程序,其中,计算机程序在被计算机的处理器执行时用于使计算机执行本公开任意实施例所说明的富文本显示方法。
参考图4,现将描述可以作为本公开的服务器或客户端的电子设备400的结构框图,其是可以应用于本公开的各方面的硬件设备的示例。电子设备旨在表示各种形式的数字电子的计算机设备,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图4所示,电子设备400包括计算单元401,其可以根据存储在只读存储器(ROM)402中的计算机程序或者从存储单元408加载到随机访问存储器(RAM)403中的计算机程序,来执行各种适当的动作和处理。在RAM403中,还可存储设备400操作所需的各种程序和数据。计算单元401、ROM402以及RAM403通过总线404彼此相连。输入/输出(I/O)接口405也连接至总线404。
电子设备400中的多个部件连接至I/O接口405,包括:输入单元406、输出单元407、存储单元408以及通信单元409。输入单元406可以是能向电子设备400输入信息的任何类型的设备,输入单元406可以接收输入的数字或字符信息,以及产生与电子设备的用户设置和/或功能控制有关的键信号输入。输出单元407可以是能呈现信息的任何类型的设备,并且可以包括但不限于显示器、扬声器、视频/音频输出终端、振动器和/或打印机。存储单元408可以包括但不限于磁盘、光盘。通信单元409允许电子设备400通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据,并且可以包括但不限于调制解调器、网卡、红外通信设备、无线通信收发机和/或芯片组,例如蓝牙TM设备、WiFi设备、WiMax设备、蜂窝通信设备和/或类似物。
计算单元401可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元401的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元401执行上文所描述的各个方法和处理。例如,在一些实施例中,本公开任意实施例所说明的富文本显示方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元408。在一些实施例中,计算机程序的部分或者全部可以经由ROM402和/或通信单元409而被载入和/或安装到电子设备400上。在一些实施例中,计算单元401可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行本公开任意实施例所说明的富文本显示方法。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
如本公开使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
Claims (9)
1.一种富文本显示方法,其特征在于,包括:
获取原始文本内容;其中,所述原始文本内容包含富文本标签;
基于所述原始文本内容,对文本字符以及所述文本字符对应的所述富文本标签进行提取,以生成富文本数组;其中,所述富文本数组中的第一数组元素为包含所述富文本标签的目标文本内容,且各所述目标文本内容中的所述文本字符以预设数量递增;
按照预设时间间隔,依次读取所述富文本数组中的所述第一数组元素,并基于所述第一数组元素中的所述富文本标签渲染所述目标文本内容,并显示渲染后的所述目标文本内容;
其中,所述基于所述原始文本内容,对文本字符以及所述文本字符对应的所述富文本标签进行提取,以生成富文本数组,包括:
从所述原始文本内容中提取所述富文本标签,并利用提取的各所述富文本标签生成第一数组;
利用第一预设字符替代所述原始文本内容中的所述富文本标签,生成替换文本内容;其中,所述第一预设字符所属的字符类型不同于所述文本字符所属的字符类型;
基于所述第一预设字符、所述第一数组和第二预设字符,遍历所述替换文本内容,生成第二数组和第三数组;其中,所述第二数组用于存储所述富文本标签和所述第二预设字符,所述第三数组用于存储所述替换文本内容中的各所述文本字符;
遍历所述第三数组中的各所述文本字符,且在每个所述文本字符的处理过程中遍历所述第二数组,以组合遍历到的所述文本字符和所述第二数组中的各所述富文本标签,生成所述富文本数组。
2.根据权利要求1所述的方法,其特征在于,所述基于所述第一预设字符、所述第一数组和第二预设字符,遍历所述替换文本内容,生成第二数组和第三数组,包括:
遍历所述替换文本内容中的目标字符,且针对遍历到的所述目标字符执行:
在遍历到的所述目标字符与所述第一预设字符匹配一致的情况下,从所述第一数组中获取下标索引值对应的所述富文本标签,并将获取的所述富文本标签存储至所述第二数组,且所述下标索引值自增1;
在遍历到的所述目标字符与所述第一预设字符匹配不一致的情况下,将遍历到的所述目标字符存储至所述第三数组,且将所述第二预设字符存储至所述第二数组。
3.根据权利要求1所述的方法,其特征在于,在所述预设数量为1的情况下,所述遍历所述第三数组中的各所述文本字符,且在每个所述文本字符的处理过程中遍历所述第二数组,以组合遍历到的所述文本字符和所述第二数组中的各所述富文本标签,生成所述富文本数组,包括:
遍历所述第三数组中的所述文本字符,且针对遍历到的所述文本字符执行:
遍历所述第二数组中的第二数组元素,且针对遍历到的所述第二数组元素执行:
在遍历到的所述第二数组元素不为所述第二数组中的首个所述第二预设字符的情况下,将遍历到的所述第二数组元素拼接至目标数组元素;其中,所述目标数组元素为所述富文本数组中与所述文本字符对应的数组元素,所述第二预设字符为空字符;
在遍历到的所述第二数组元素为所述第二数组中的首个所述第二预设字符的情况下,将遍历到的所述文本字符拼接至所述目标数组元素,且利用遍历到的所述文本字符替换遍历到的所述第二数组元素,以更新所述第二数组;
在遍历完所述第三数组的情况下,由各所述目标数组元素构成所述富文本数组。
4.根据权利要求1所述的方法,其特征在于,所述按照预设时间间隔,依次读取所述富文本数组中的所述第一数组元素,并基于所述第一数组元素中的富文本标签渲染所述目标文本内容,并显示渲染后的所述目标文本内容,包括:
遍历所述富文本数组中的所述第一数组元素,且针对遍历到的所述第一数组元素执行:
在遍历到的所述第一数组元素为所述富文本数组中的首个数组元素的情况下,读取遍历到的所述第一数组元素,并基于遍历到的所述第一数组元素中的所述富文本标签渲染所述目标文本内容,且在文本显示区域中显示渲染后的所述目标文本内容;
和/或,在遍历到的所述第一数组元素不为所述首个数组元素的情况下,按照预设单位时长,从目标时间开始累积计时器的计时时长;其中,所述目标时间包括0或当前系统时间;
在确定所述计时时长与所述目标时间的时间差大于或等于所述预设时间间隔的情况下,读取遍历到的所述第一数组元素,并基于遍历到的所述第一数组元素中的所述富文本标签渲染所述目标文本内容,且在所述文本显示区域中重新显示渲染后的所述目标文本内容。
5.根据权利要求4所述的方法,其特征在于,所述在遍历到的所述第一数组元素不为所述首个数组元素的情况下,按照预设单位时长,从目标时间开始累积计时器的计时时长之前,所述方法还包括:
基于多媒体内容的帧间隔,确定所述预设单位时长;其中,所述多媒体内容的播放过程与文本显示过程并发执行;且所述多媒体内容包括音频,动态图片,视频,以及音频与动态图片的组合中的任一个。
6.根据权利要求4所述的方法,其特征在于,所述在确定所述计时时长与所述目标时间的时间差大于或等于所述预设时间间隔的情况下,读取遍历到的所述第一数组元素,并基于遍历到的所述第一数组元素中的所述富文本标签渲染所述目标文本内容,且在所述文本显示区域中重新显示渲染后的所述目标文本内容之前,所述方法还包括:
基于多媒体内容的播放时长和所述原始文本内容包含的所述文本字符的数量的比值,确定所述预设时间间隔。
7.一种富文本显示装置,其特征在于,包括:
原始文本内容获取模块,用于获取原始文本内容;其中,所述原始文本内容包含富文本标签;
富文本数组生成模块,用于基于所述原始文本内容,对文本字符以及所述文本字符对应的所述富文本标签进行提取,以生成富文本数组;其中,所述富文本数组中的第一数组元素为包含所述富文本标签的目标文本内容,且各所述目标文本内容中的所述文本字符以预设数量递增;
文本内容显示模块,用于按照预设时间间隔,依次读取所述富文本数组中的所述第一数组元素,并基于所述第一数组元素中的所述富文本标签渲染所述目标文本内容,并显示渲染后的所述目标文本内容;
其中,所述富文本数组生成模块包括:
第一数组生成子模块,用于从原始文本内容中提取富文本标签,并利用提取的各富文本标签生成第一数组;
替换文本内容生成子模块,用于利用第一预设字符替代原始文本内容中的富文本标签,生成替换文本内容;其中,第一预设字符所属的字符类型不同于文本字符所属的字符类型;
第二数组生成子模块,用于基于第一预设字符、第一数组和第二预设字符,遍历替换文本内容,生成第二数组和第三数组;其中,第二数组用于存储富文本标签和第二预设字符,第三数组用于存储替换文本内容中的各文本字符;
富文本数组生成子模块,用于遍历第三数组中的各文本字符,且在每个文本字符的处理过程中遍历第二数组,以组合遍历到的文本字符和第二数组中的各富文本标签,生成富文本数组。
8.一种电子设备,包括:
处理器;以及
存储程序的存储器,
其中,所述程序包括指令,所述指令在由所述处理器执行时使所述处理器执行根据权利要求1-6中任一项所述的富文本显示方法。
9.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-6中任一项所述的富文本显示方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210669502.8A CN114925656B (zh) | 2022-06-14 | 2022-06-14 | 富文本显示方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210669502.8A CN114925656B (zh) | 2022-06-14 | 2022-06-14 | 富文本显示方法、装置、设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114925656A CN114925656A (zh) | 2022-08-19 |
CN114925656B true CN114925656B (zh) | 2023-01-24 |
Family
ID=82814915
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210669502.8A Active CN114925656B (zh) | 2022-06-14 | 2022-06-14 | 富文本显示方法、装置、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114925656B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116842125B (zh) * | 2023-08-28 | 2023-12-26 | 武汉乾云软件开发中心(有限合伙) | 一种富媒体信息的存储方法及自然语言智能检索方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113050808A (zh) * | 2021-04-22 | 2021-06-29 | 北京百度网讯科技有限公司 | 在输入框中突出显示目标文本的方法及装置 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8073869B2 (en) * | 2008-07-03 | 2011-12-06 | The Regents Of The University Of California | Method for efficiently supporting interactive, fuzzy search on structured data |
EP3547160A1 (en) * | 2018-03-27 | 2019-10-02 | Nokia Technologies Oy | Creation of rich content from textual content |
CN110717120A (zh) * | 2018-07-12 | 2020-01-21 | 北京京东尚科信息技术有限公司 | 一种网页列表显示方法和装置 |
CN111222063A (zh) * | 2019-11-26 | 2020-06-02 | 北京达佳互联信息技术有限公司 | 富文本渲染方法、装置、电子设备及存储介质 |
CN112035408B (zh) * | 2020-09-01 | 2023-10-31 | 文思海辉智科科技有限公司 | 文本处理方法、装置、电子设备及存储介质 |
CN113032708A (zh) * | 2021-04-02 | 2021-06-25 | 广州博恒信息科技有限责任公司 | 一种无代码Web开发系统 |
CN113656006B (zh) * | 2021-08-18 | 2023-06-30 | 广东触电传媒科技有限公司 | 一种富文本的渲染方法及渲染设备 |
-
2022
- 2022-06-14 CN CN202210669502.8A patent/CN114925656B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113050808A (zh) * | 2021-04-22 | 2021-06-29 | 北京百度网讯科技有限公司 | 在输入框中突出显示目标文本的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN114925656A (zh) | 2022-08-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11363344B2 (en) | Method and system of displaying subtitles, computing device, and readable storage medium | |
CN112287914B (zh) | Ppt视频段提取方法、装置、设备及介质 | |
CN110990010B (zh) | 一种软件界面代码的生成方法及装置 | |
CN114925656B (zh) | 富文本显示方法、装置、设备和存储介质 | |
CN114827752B (zh) | 视频生成方法、视频生成系统、电子设备及存储介质 | |
CN111898388A (zh) | 视频字幕翻译编辑方法、装置、电子设备及存储介质 | |
CN113035199A (zh) | 音频处理方法、装置、设备及可读存储介质 | |
CN112101353A (zh) | 文本信息提取方法、装置、电子设备及存储介质 | |
US20240169972A1 (en) | Synchronization method and apparatus for audio and text, device, and medium | |
CN110059224B (zh) | 投影仪设备的视频检索方法、装置、设备及存储介质 | |
CN112306594A (zh) | 一种基于移动端的渲染方法、装置及存储介质 | |
CN114640874A (zh) | 字幕同步方法、装置、机顶盒及计算机可读存储介质 | |
CN111611788B (zh) | 一种数据处理的方法及装置、电子设备、存储介质 | |
CN117436417A (zh) | 演示文稿生成方法、装置、电子设备和存储介质 | |
US10477136B2 (en) | Display mode determining device, display, display mode determining method, and non-transitory storage medium | |
CN113411517B (zh) | 视频模板的生成方法、装置、电子设备及存储介质 | |
CN113034649B (zh) | 一种汉字绘制展示方法、装置、电子设备及介质 | |
US20210073458A1 (en) | Comic data display system, method, and program | |
CN114339373A (zh) | 一种队列弹幕生成方法、装置、存储介质和设备 | |
CN110428668B (zh) | 一种数据提取方法、装置、计算机系统及可读存储介质 | |
CN108376161B (zh) | 显示网页的方法、装置、终端及存储介质 | |
CN112711954A (zh) | 翻译方法、装置、电子设备和存储介质 | |
CN112765963A (zh) | 语句分词方法、装置、计算机设备及存储介质 | |
CN111161737A (zh) | 数据处理方法、装置、电子设备和存储介质 | |
CN104850316A (zh) | 电子图书字体调整方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |