掌桥专利:专业的专利平台
掌桥专利
首页

一种富文本编辑方法、装置、电子设备及可读存储介质

文献发布时间:2024-04-18 20:02:18


一种富文本编辑方法、装置、电子设备及可读存储介质

技术领域

本申请涉及富文本处理技术领域,尤其涉及一种富文本编辑方法、装置、电子设备及可读存储介质。

背景技术

目前,在对网页页面的内容进行富文本编辑之后,通过请求接口将全部的富文本内容发送给后端,再由后端去进行内容存储,这是一种将编辑后富文本的全部内容替换原有富文本内容的方法。但在富文本编辑的过程中,若富文本的文本内容较多时,可能导致服务器在对富文本的内容进行处理耗时较长,从而导致响应效率较低;若对原有富文本中的部分内容进行编辑修改,将全部的编辑后富文本发送给后端,这样可能造成一些资源浪费。

发明内容

有鉴于此,本申请实施例提供了一种富文本编辑方法、装置、电子设备及可读存储介质,以解决现有技术中导致服务器在对富文本的内容进行处理耗时较长,从而导致响应效率较低的技术问题。

本申请实施例的第一方面,提供了一种富文本编辑方法,应用于客户端,包括:根据富文本中的光标位置,获取富文本中的编辑内容;根据编辑内容,确定编辑内容在富文本的文本块为目标文本块;确定目标文本块的标识;获取编辑后富文本中各个文本块对应的标识;将目标文本块、目标文本块的标识,以及编辑后富文本中各个文本块对应的标识发送至服务器,以使得服务器基于目标文本块、目标文本块的标识,以及编辑后富文本中各个文本块对应的标识对富文本进行富文本处理。

本申请实施例的第二方面,提供了一种富文本编辑方法,应用于服务器,包括:接收客户端发送的目标文本块、文本块的标识和编辑后富文本中各个文本块对应的标识,目标文本块为客户端基富文本的编辑内容得到;目标文本块包括新增文本块或原有文本块;基于目标文本块、目标文本块的标识,以及编辑后富文本中各个文本块对应的标识对富文本进行富文本处理。

本申请实施例的第三方面,提供了一种富文本编辑装置,包括:第一获取模块,用于根据富文本中的光标位置,获取富文本中的编辑内容;第一确定模块,用于根据编辑内容,确定编辑内容在富文本的文本块为目标文本块;第二确定模块,用于确定目标文本块的标识;第二获取模块,用于获取编辑后富文本中各个文本块对应的标识;发送模块,用于将目标文本块、目标文本块的标识,以及编辑后富文本中各个文本块对应的标识发送至服务器,以使得服务器基于目标文本块、目标文本块的标识,以及编辑后富文本中各个文本块对应的标识对富文本进行富文本处理。

本申请实施例的第四方面,提供了一种电子设备,包括存储器、处理器以及存储在存储器中并且可在处理器上运行的计算机程序,该处理器执行计算机程序时实现上述方法的步骤。

本申请实施例的第五方面,提供了一种可读存储介质,该可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述方法的步骤。

本申请实施例与现有技术相比存在的有益效果是:在进行富文本编辑的过程中,根据编辑页面的光标,获取在该富文本上进行编辑修改的内容,并根据编辑内容,确定上述编辑内容在富文本的文本块中所属文本块,将编辑内容在富文本的文本块中所属文本块确定为目标文本块并确定根据编辑内容确定目标文本块的标识以及获取编辑后富文本中各个文本块所对应的标识。将上述目标文本块、目标文本块的标识以及编辑后富文本中各个文本块对应的标识通过请求接口发送给服务器,以使得服务器基于接收到的目标文本块、目标文本块的标识以及编辑后富文本中各个文本块对应的标识进行富文本内容处理。在富文本编辑过程中,只对富文本的编辑内容所属的目标文本块在服务器进行替换可以解决现有技术中导致服务器在对富文本的内容进行处理耗时较长,从而导致响应效率较低的技术问题,提高响应速度,在对原有富文本中的部分内容进行编辑修改时,只将该文本块传输给服务器而不影响富文本的其他文本块,有利于资源的节省。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。

图1是本申请实施例的应用场景的场景示意图;

图2是本申请实施例提供的一种富文本编辑方法的流程示意图;

图3是本申请实施例提供的另一种富文本编辑方法的流程示意图;

图4是本申请实施例提供的一种富文本编辑装置的结构示意图;

图5是本申请实施例提供的另一种富文本编辑装置的结构示意图;

图6是本申请实施例提供的一种电子设备的结构示意图。

具体实施方式

以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。

下面将结合附图详细说明根据本申请实施例的一种富文本编辑方法和装置。

图1是本申请实施例的应用场景的场景示意图。该应用场景可以包括终端设备1、2和3、服务器4以及网络5。

终端设备1、2和3可以是硬件,也可以是软件。当终端设备1、2和3为硬件时,其可以是具有显示屏且支持与服务器4通信的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等;当终端设备1、2和3为软件时,其可以安装在如上的电子设备中。终端设备1、2和3可以实现为多个软件或软件模块,也可以实现为单个软件或软件模块,本申请实施例对此不作限制。进一步地,终端设备1、2和3上可以安装有各种应用,例如数据处理应用、即时通信工具、社交平台软件、搜索类应用、购物类应用等。

服务器4可以是提供各种服务的服务器,例如,对与其建立通信连接的终端设备发送的请求进行接收的后台服务器,该后台服务器可以对终端设备发送的请求进行接收和分析等处理,并生成处理结果。服务器4可以是一台服务器,也可以是由若干台服务器组成的服务器集群,或者还可以是一个云计算服务中心,本申请实施例对此不作限制。

需要说明的是,服务器4可以是硬件,也可以是软件。当服务器4为硬件时,其可以是为终端设备1、2和3提供各种服务的各种电子设备。当服务器4为软件时,其可以是为终端设备1、2和3提供各种服务的多个软件或软件模块,也可以是为终端设备1、2和3提供各种服务的单个软件或软件模块,本申请实施例对此不作限制。

网络5可以是采用同轴电缆、双绞线和光纤连接的有线网络,也可以是无需布线就能实现各种通信设备互联的无线网络,例如,蓝牙(Bluetooth)、近场通信(Near FieldCommunication,NFC)、红外(Infrared)等,本申请实施例对此不作限制。

用户可以通过终端设备1、2和3经由网络5与服务器4建立通信连接,以接收或发送信息等。具体地,根据富文本中的光标位置,获取富文本中的编辑内容;根据编辑内容,确定编辑内容在富文本的文本块为目标文本块;确定目标文本块的标识;获取编辑后富文本中各个文本块对应的标识;将目标文本块、目标文本块的标识,以及编辑后富文本中各个文本块对应的标识发送至服务器,以使得服务器基于目标文本块、目标文本块的标识,以及编辑后富文本中各个文本块对应的标识对富文本进行富文本处理。

需要说明的是,终端设备1、2和3、服务器4以及网络5的具体类型、数量和组合可以根据应用场景的实际需求进行调整,本申请实施例对此不作限制。

图2是本申请实施例提供的一种富文本编辑方法的流程示意图。图2的富文本编辑方法可以由图1的终端设备执行。如图2所示,该富文本编辑方法包括:

步骤201,根据富文本中的光标位置,获取富文本中的编辑内容。

在一些实施例中,富文本是一种相较于纯文本更加高级的文本格式,可以用于保存文字内容、图像信息、图表信息等等,富文本文件的类型包括但不限于doc、docx、rtf、pdf等。在进行富文本编辑时,可以对富文本进行多种类型的修改,比如,修改字体、修改文字颜色、修改文字大小、在富文本文件中增添表格、在富文本文件中增添图像等等,而对纯文本文件进行编辑时,无法对文本的字体、颜色、大小等进行修改。富文本可以呈现更多更丰富的文本效果传达更多的信息,相应的富文本文件通常在内存占有上较多。

在一些实施例中,通过回显指令将一篇富文本文档回显在富文本编辑器中,对该富文本文档进行富文本编辑。在富文本编辑过程中,可以对该富文本进行多种操作,包括但不限于删除一段文本、对某一段文本进行部分修改、增添一段文本等,通过响应这些操作可以实时将编辑内容显示在编辑后富文本中,光标的位置是可以实时根据操作显示在富文本中,光标在富文本编辑的过程中可以以闪烁的竖线或横线来表示,通过移动光标可以确定进行富文本编辑的位置,得到富文本中的编辑内容,有利于后续的进一步处理和操作。需要说明的是,回显在本申请实施例中指将一篇存储在客户端的富文本显示在服务器的终端设备的显示屏。

步骤202,根据编辑内容,确定编辑内容在富文本的文本块为目标文本块。

在一些实施例中,在回显上述富文本之前,可以以预设方法对富文本进行划分,将富文本划分为多个文本块,并对划分的每一个文本块都生成标识。根据上述获取的编辑内容,确定该编辑内容在富文本中所属的文本块,并将该编辑内容在富文本中所属的文本块确定为目标文本块。例如,对于一篇富文本,该富文本被划分为十个文本块,在此次富文本编辑过程中,对该富文本的第二个文本块进行了富文本编辑,可以是将第二个文本块中的某一个文字进行了删除处理,此时的目标文本块即为该富文本的第二个文本块,从而得到在后续步骤中需要传输到服务器的目标文本块。

步骤203,确定目标文本块的标识。

在一些实施例中,在确定目标文本块后,获取得到该目标文本块的标识。对于在本申请中的富文本,以预设方法对富文本进行划分,将富文本划分为多个文本块,并为各个文本块生成对应的标识。生成标识的方法可以有多种,可以是使用random函数生成32位随机数+生成段落的时间戳组合生成,也可以是其他方法。具体地,对于一篇富文本,该富文本的第二个文本块的标识为32位随机数X(即目标文本的标识),编辑内容为对该富文本的第二个文本块中增添(删除或修改)一个阿拉伯数字,目标文本块的标识即该富文本的第二个文本块的标识X。

步骤204,获取编辑后富文本中各个文本块对应的标识。

在一些实施例中,对于一篇富文本,在编辑之前一共有三个文本块,三个文本块对应的标识按照文本块先后顺序依次是【A,B,C】,编辑内容为对第三个文本块进行删除处理,相应的目标文本块为该富文本的第三个文本块,目标文本块的标识即该富文本的第三个文本块的标识C,编辑后富文本中各个文本块对应的标识按照文本块先后顺序依次是【A,B】。

步骤205,将目标文本块、目标文本块的标识,以及编辑后富文本中各个文本块对应的标识发送至服务器,以使得服务器基于目标文本块、目标文本块的标识,以及编辑后富文本中各个文本块对应的标识对富文本进行富文本处理。

在一些实施例中,根据上述步骤获取的目标文本块、目标文本块的标识,以及编辑后富文本中各个文本块对应的标识,并将目标文本块、目标文本块的标识,以及编辑后富文本中各个文本块对应的标识转化为预设的结构化数据格式,具体地,预设的结构化数据格式可以为轻量级的数据交互格式(JavaScript Object Notation,json),json简单的语法格式和清晰的层次结构较为简单,另一方面,在数据交换方面,由于json所使用的字符相对较少,可以节约传输数据所占用的带宽。将转换为预设数据格式的目标文本块、目标文本块的标识,以及编辑后富文本中各个文本块对应的标识以参数发送给服务器,以使得服务器基于接收到的参数对于存储在数据库中的富文本块以及对应的标签进行相应的处理。

在一些实施例中在进行富文本编辑的过程中,根据编辑页面的光标,获取到该富文本上进行编辑修改的内容,并根据编辑内容,确定上述编辑内容在富文本的文本块中所属文本块,将编辑内容在富文本的文本块中所属文本块确定为目标文本块并根据编辑内容确定目标文本块的标识以及获取编辑后富文本中各个文本块所对应的标识。将上述目标文本块、目标文本块的标识以及编辑后富文本中各个文本块对应的标识通过请求接口发送给服务器,以使得服务器基于接收到的目标文本块、目标文本块的标识以及编辑后富文本中各个文本块对应的标识进行富文本内容处理。在富文本编辑过程中,只对富文本的编辑内容所属的目标文本块在服务器进行替换可以解决现有技术中导致服务器在对富文本的内容进行处理耗时较长,从而导致响应效率较低的技术问题,提高响应速度,在对原有富文本中的部分内容进行编辑修改时,只将该文本块传输给服务器而不影响富文本的其他文本块,有利于资源的节省。

在一些实施例中,目标文本块包括新增文本块或原有文本块,确定目标文本块的标识,包括:若编辑内容为删除原有文本块时,将原有文本块对应的标识确定为目标文本块的标识;若编辑内容为修改原有文本块时,将原有文本块对应的标识确定为目标文本块的标识;若编辑内容为增加新增文本块时,基于新增文本块,生成新增文本块的标识,将新增文本块的标识确定为目标文本块的标识,新增文本块的标识不同于富文本中各个文本块对应的标识。

在一些实施例中,目标文本块包括新增文本块或原有文本块,新增文本块是指在富文本中不包含的文本块,原有文本块是指在该富文本中包含的文本块。例如,通过回显指令将一篇命名为“abcd2022”的富文本回显,“abcd2022”一共包括三个文本块,按照先后顺序三个原有文本块的标识依次为【A,B,C】,在编辑内容为将标识为A文本块进行删除处理的情况下,原有文本块对应的标识为A,目标文本块的标识为A。在编辑内容为将标识为C的文本块进行部分修改比如删除一个文字的情况下,原有文本块对应的标识为C,目标文本块的标识为C。在编辑内容为在标识为A的原有文本块和标识为B的原有文本块之间生成一个新增文本块,对该新增文本块与富文本的各个文本块生成标识相同的方式进行标识生成得到新增文本块的标识D,此时目标文本块为新增文本块,目标文本块的标识为D。并且需要保证新增文本块的标识不同于富文本中各个文本块对应的标识。

根据不同的编辑内容,从而确定得到不同情况下目标文本块的标识,保证目标文本块的标识的准确性,保证在不同的富文本编辑情况下文本块与标识之间的一一对应,为后续服务器对于富文本编辑处理的准确性。

在一些实施例中,根据富文本中的光标位置,获取富文本中的编辑内容之前,还包括:若检测到预设行为,对富文本进行文本块分块处理,得到富文本的各个文本块;预设行为包括换行行为、生成表格行为和生成图像行为;基于富文本的各个文本块,生成富文本的各个文本块对应的标识;将富文本的各个文本块、富文本的各个文本块对应的标识发送给客户端,以使得客户端富文本的各个文本块、富文本的各个文本块对应的标识存储在数据库中;接收来自用户的回显指令,基于回显指令回显富文本。

基于前述实施例,可以将富文本标题以外的整篇内容在检测预设行为时进行划分,例如在第一次生成富文本时,在检测到预设行为的情况下,对该富文本进行划分,预设行为包括换行行为、生成表格行为、生成图像行为、生成代码块行为,即对于该富文本,每一段的文本、每一张图像、每一个表格、每一块代码块均被划分为一个文本块,并且该富文本的各个文本块均具有其对应的标识。在进行富文本生成的过程中,并实时将富文本的文本块以及富文本的文本块对应的标识转换为预设数据格式发送给客户端,以使得富文本的各个文本块、富文本的各个文本块对应的标识存储在数据库中。在一些实施例中,在用户需要修改一篇富文本时,接收来自用户的回显指令,基于该回显指令将存储在客户端的该富文本回显,以便后续对该富文本再编辑操作。

在一些实施例中,将目标文本块、目标文本块的标识,以及编辑后富文本中各个文本块对应的标识发送至服务器,包括:通过文档对象化模型对目标文本块进行解析处理,得到目标文本块的文档对象化模型树;根据目标文本块的文档对象化模型树和目标文本块的标识,确定包含属性对象的一维数组;基于编辑后富文本中各个文本块对应的标识,生成多维数组;将一维数组和多维数组发送给客户端。

在一些实施例中,文档对象模型(Document Object Model,DOM)是一种独立于表示文档的方法,它通过一组通用的对象、属性、方法和事件来访问文档,并通过脚本动态修改富文本内容,并定义了遍历、检查和修改各节点的属性和方法。在本申请的实施例中,通过文档对象化模型的方法,对目标文本块进行拆解和解析,得到的目标文本块的结构和内容,可以得到目标文本块的文档对象模型树,目标文本块的文档对象模型树可以清晰地表示出目标文本块内部的层次结构和每个节点的关系。例如,在JavaScript中,可以设置一个空数组的赋值符号[]创建一个空数组,调用JavaScript递归函数根据光标的位置,通过parentNode属性获取父节点,并将父节点的children属性进行赋值,直到递归函数找到一个div标签时停止执行,此时目标文本块已进行拆解和解析,得到的目标文本块的结构和内容,得到目标文本块的文档对象模型树。将目标文本块的文档对象化模型树作为一个对象的内容属性,将目标文本块的标识作为标识来识别对象,将该对象添加到一维数组中。根据述编辑后富文本中各个文本块对应的标识按照编辑后富文本中各个文本块的先后顺序添加到多维数组中,将上述获得一维数组和多维数组通过请求接口传递给服务器,以使得服务器基于接收到的文本块、目标文本块的标识,以及编辑后富文本中各个文本块对应的标识进行相对应的富文本处理。

在本申请实施例中,通过文档对象化模型对目标文本块进行解析处理,得到目标文本块的文档对象化模型树可以表示目标文本块的结构和内容,保留目标文本块的层次结构和元素之间的关系,使得数据在传输过程中安全传输,并对目标文本块的文档对象化模型树添加一个标识,有利于目标文本块的区分。

图3是本申请实施例提供的一种富文本编辑的方法的流程示意图,应用于服务器。图3的富文本编辑方法可以由图1的服务器4执行。如图3所示,该富文本编辑方法包括:

步骤301,接收客户端发送的目标文本块、文本块的标识和编辑后富文本中各个文本块对应的标识,目标文本块为客户端基于富文本的编辑内容得到;目标文本块包括新增文本块或原有文本块。

步骤302,基于目标文本块、目标文本块的标识,以及编辑后富文本中各个文本块对应的标识对富文本进行富文本处理。

在一些实施例中,服务器接收来自客户端的目标文本块、文本块的标识和编辑后富文本中各个文本块对应的标识。在本申请提供的富文本编辑方法中,对富文本以预设方法对富文本进行划分,将富文本划分为多个文本块,并对划分的每一个文本块都设置标识进行区分,富文本中的各个文本块都有其对应的标识,生成标识的方法可以有多种,本申请不对此做出限制。目标文本块为客户端基于富文本的编辑内容得到,编辑内容包括生成一个新增文本块、修改一个原有文本块,删除一个原有文本块,在编辑内容是生成一个新增文本块时,目标文本块为该新增文本块,目标文本块的标识为该新增文本块的标识,此时编辑后富文本中各个文本块对应的标识为富文本的各个文本块的标识加上新增文本块的标识;在编辑内容是修改一个原有文本块时,目标文本块是该原有文本块,目标文本块的标识为该原有文本块的标识,此时编辑后富文本中各个文本块对应的标识为富文本的各个文本块的标识;在编辑内容是删除一个原有文本块时,目标文本块是该原有文本块,目标文本块的标识为该原有文本块的标识,此时编辑后富文本中各个文本块对应的标识为富文本的各个文本块的标识除去该原有文本块的标识。

基于所接收到的目标文本块、文本块的标识和编辑后富文本中各个文本块对应的标识对存储在数据库中的文本块和文本块的标识进行相应的处理。

在一些实施例中,基于目标文本块、目标文本块的标识,以及编辑后富文本中各个文本块对应的标识对富文本进行富文本处理,包括:遍历编辑后富文本中各个文本块对应的标识是否包含目标文本块的标识;若编辑后富文本中各个文本块对应的标识不包括目标文本块的标识,删除数据库中目标文本块对应的原有文本块和目标文本块对应的原有文本块的标识;目标文本块为客户端将原有文本块进行删除得到,目标文本块的标识为原有文本块的标识;若编辑后富文本中各个文本块对应的标识包括目标文本块的标识,遍历富文本中各个文本块对应的标识是否包含目标文本块的标识,得到遍历结果,根据遍历结果,对存储在数据库中富文本的各个文本块、富文本的各个文本块对应的标识进行部分处理。

在一些实施例中,遍历编辑后富文本中各个文本块对应的标识是否包含目标文本块的标识,可以是通过includes方法判断编辑后富文本中各个文本块对应的标识是否存在目标文本块的标识,若编辑后富文本中各个文本块对应的标识中不存在目标文本块的标识,表示在客户端的编辑内容为删除一个原有文本块,将存储在数据库中的该原有文本块进行删除处理,将存储在数据库中的该原有文本块的标识也进行删除处理。

若编辑后富文本中各个文本块对应的标识中存在目标文本块的标识,表示在客户端的编辑内容为生成一个新增文本块或修改一个原有文本块,可以通过includes方法遍历富文本中各个文本块对应的标识是否包含目标文本块的标识,得到相应的遍历结果,再根据遍历结果,对存储在数据库中富文本的各个文本块、富文本的各个文本块对应的标识进行相应处理。

在一些实施例中,遍历富文本中各个文本块对应的标识是否包含目标文本块的标识,得到遍历结果,根据遍历结果对存储在数据库中富文本的各个文本块、富文本的各个文本块对应的标识进行部分处理,包括:获取富文本的各个文本块对应的标识;遍历富文本中各个文本块对应的标识是否包含目标文本块的标识;若富文本中各个文本块对应的标识包含目标文本块的标识,将目标文本块替换数据库中的目标文本块对应的原有文本块;若富文本中各个文本块对应的标识不包含目标文本块的标识,基于目标文本块的标识和编辑后富文本中各个文本块对应的标识,得到目标文本块在编辑后富文本中各个文本块中的位置;将编辑后富文本中各个文本块对应的标识替换数据库中富文本的各个文本块对应的标识;根据位置,将目标文本块插入富文本的各个文本块中。

在一些实施例中,获取富文本的各个文本块对应的标识,遍历富文本中各个文本块对应的标识是否包含目标文本块的标识,可以通过includes方法判断富文本中各个文本块对应的标识中是否存在目标文本块的标识,若富文本中各个文本块对应的标识中存在目标文本块的标识,表示在客户端的编辑内容为修改一个原有文本块,从而将目标文本块替换数据库中的该原有文本块。

若富文本中各个文本块对应的标识中不存在目标文本块的标识,表示在客户端的编辑内容为生成一个新增文本块,由于编辑后富文本中各个文本块对应的标识根据编辑后富文本中各个文本块的先后顺序排列的,基于目标文本块的标识和编辑后富文本中各个文本块对应的标识,可以确定该目标文本块在编辑后富文本中各个文本块中的位置,从而将编辑后富文本中各个文本块对应的标识替换数据库中富文本的各个文本块对应的标识,再根据上述得到的位置,将目标文本块插入存储至数据库的富文本的各个文本块中。

通过遍历富文本中各个文本块对应的标识是否包含目标文本块的标识得到的遍历结果对存储在数据库中的文本块和文本块对应的标识进行相应处理,只对富文本的编辑内容所属的目标文本块在后端进行替换可以解决现有技术中导致服务器在对富文本的内容进行处理耗时较长,从而导致响应效率较低的技术问题,提高响应速度,在对原有富文本中的部分内容进行编辑修改时,只将该文本块传输给服务器而不影响富文本的其他文本块,有利于资源的节省。

需要说明的是,本申请提出的富文本编辑方法同样适用于生成一篇全新的富文本。

上述所有可选技术方案,可以采用任意结合形成本申请的可选实施例,在此不再一一赘述。

下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。

图4是本申请实施例提供的一种富文本编辑装置的示意图,应用于客户端,如图4所示,该富文本编辑装置包括:

第一获取模块401,用于根据富文本中的光标位置,获取富文本中的编辑内容;

第一确定模块402,用于根据编辑内容,确定编辑内容在富文本的文本块为目标文本块;

第二确定模块403,用于确定目标文本块的标识;

第二获取模块404,用于获取编辑后富文本中各个文本块对应的标识;

发送模块405,用于将目标文本块、目标文本块的标识,以及编辑后富文本中各个文本块对应的标识发送至服务器,以使得服务器基于目标文本块、目标文本块的标识,以及编辑后富文本中各个文本块对应的标识对富文本进行富文本处理。

根据本申请实施例提供的技术方案,通过第一获取模块401在进行富文本编辑的过程中,根据编辑页面的光标,获取在该富文本上进行编辑修改的内容,并根据编辑内容,确定上述编辑内容在富文本的文本块中所属文本块,通过第一确定模块402将编辑内容在富文本的文本块中所属文本块确定为目标文本块并通过第二确定模块403确定根据编辑内容确定目标文本块的标识以及通过第二获取模块404获取编辑后富文本中各个文本块所对应的标识。通过发送模块405将上述目标文本块、目标文本块的标识以及编辑后富文本中各个文本块对应的标识通过请求接口发送给服务器,以使得服务器基于接收到的目标文本块、目标文本块的标识以及编辑后富文本中各个文本块对应的标识进行富文本内容处理。在富文本编辑过程中,只对富文本的编辑内容所属的目标文本块在服务器进行替换可以解决现有技术中导致服务器在对富文本的内容进行处理耗时较长,从而导致响应效率较低的技术问题,提高响应速度,在对原有富文本中的部分内容进行编辑修改时,只将该文本块传输给服务器而不影响富文本的其他文本块,有利于资源的节省。

在一些实施例中,目标文本块包括新增文本块或原有文本块,第二确定模块403被配置为:若编辑内容为删除原有文本块时,将原有文本块对应的标识确定为目标文本块的标识;若编辑内容为修改原有文本块时,将原有文本块对应的标识确定为目标文本块的标识;若编辑内容为增加新增文本块时,基于新增文本块,生成新增文本块的标识,将新增文本块的标识确定为目标文本块的标识,新增文本块的标识不同于富文本中各个文本块对应的标识。

在一些实施例中,富文本编辑装置还用于根据富文本中的光标位置,获取富文本中的编辑内容之前,若检测到预设行为,对富文本进行文本块分块处理,得到富文本的各个文本块;预设行为包括换行行为、生成表格行为和生成图像行为;基于富文本的各个文本块,生成富文本的各个文本块对应的标识;将富文本的各个文本块、富文本的各个文本块对应的标识发送给客户端,以使得客户端富文本的各个文本块、富文本的各个文本块对应的标识存储在数据库中;接收来自用户的回显指令,基于回显指令回显富文本。

在一些实施例中,发送模块405被配置为:通过文档对象化模型对目标文本块进行解析处理,得到目标文本块的文档对象化模型树;根据目标文本块的文档对象化模型树和目标文本块的标识,确定包含属性对象的一维数组;基于编辑后富文本中各个文本块对应的标识,生成多维数组;将一维数组和多维数组发送给客户端。

图5是本申请实施例提供的一种富文本编辑装置的示意图,应用于服务器。如图5所示,该富文本编辑装置包括:

接收模块501,用于接收客户端发送的目标文本块、文本块的标识和编辑后富文本中各个文本块对应的标识,目标文本块为客户端基于富文本的编辑内容得到;目标文本块包括新增文本块或原有文本块;

处理模块502,用于基于目标文本块、目标文本块的标识,以及编辑后富文本中各个文本块对应的标识对富文本进行富文本处理。

在一些实施例中,服务器接收来自客户端的目标文本块、文本块的标识和编辑后富文本中各个文本块对应的标识。在本申请提供的富文本编辑方法中,对富文本以预设方法对富文本进行划分,将富文本划分为多个文本块,并对划分的每一个文本块都加以标识进行区分,富文本中的各个文本块都有其对应的标识,生成标识的方法可以有多种,本申请不对此做出限制。目标文本块为客户端基于富文本的编辑内容得到,编辑内容包括生成一个新增文本块、修改一个原有文本块,删除一个原有文本块,在编辑内容是生成一个新增文本块时,目标文本块为该新增文本块,目标文本块的标识为该新增文本块的标识,此时编辑后富文本中各个文本块对应的标识为富文本的各个文本块的标识加上新增文本块的标识;在编辑内容是修改一个原有文本块时,目标文本块是该原有文本块,目标文本块的标识为该原有文本块的标识,此时编辑后富文本中各个文本块对应的标识为富文本的各个文本块的标识;在编辑内容是删除一个原有文本块时,目标文本块是该原有文本块,目标文本块的标识为该原有文本块的标识,此时编辑后富文本中各个文本块对应的标识为富文本的各个文本块的标识除去该原有文本块的标识。基于所接收到的目标文本块、文本块的标识和编辑后富文本中各个文本块对应的标识对存储在数据库中的文本块和文本块的标识进行相应的处理。

在一些实施例中,处理模块502被配置为:遍历编辑后富文本中各个文本块对应的标识是否包含目标文本块的标识;若编辑后富文本中各个文本块对应的标识不包括目标文本块的标识,删除数据库中目标文本块对应的原有文本块和目标文本块对应的原有文本块的标识;目标文本块为客户端将原有文本块进行删除得到,目标文本块的标识为原有文本块的标识;若编辑后富文本中各个文本块对应的标识包括目标文本块的标识,遍历富文本中各个文本块对应的标识是否包含目标文本块的标识,得到遍历结果,根据遍历结果,对存储在数据库中富文本的各个文本块、富文本的各个文本块对应的标识进行部分处理。

在一些实施例中,处理模块502被配置为:获取富文本的各个文本块对应的标识;遍历富文本中各个文本块对应的标识是否包含目标文本块的标识;若富文本中各个文本块对应的标识包含目标文本块的标识,将目标文本块替换数据库中的目标文本块对应的原有文本块;若富文本中各个文本块对应的标识不包含目标文本块的标识,基于目标文本块的标识和编辑后富文本中各个文本块对应的标识,得到目标文本块在编辑后富文本中各个文本块中的位置;将编辑后富文本中各个文本块对应的标识替换数据库中富文本的各个文本块对应的标识;根据位置,将目标文本块插入富文本的各个文本块中。

应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。

图6是本申请实施例提供的电子设备6的示意图。如图6所示,该实施例的电子设备6包括:处理器601、存储器602以及存储在该存储器602中并且可在处理器601上运行的计算机程序603。处理器601执行计算机程序603时实现上述各个方法实施例中的步骤。或者,处理器601执行计算机程序603时实现上述各装置实施例中各模块/单元的功能。在本申请实施例中,该电子设备6可以是上述终端设备或服务器。

电子设备6可以是桌上型计算机、笔记本、掌上电脑及云端服务器等电子设备。电子设备6可以包括但不仅限于处理器601和存储器602。本领域技术人员可以理解,图6仅仅是电子设备6的示例,并不构成对电子设备6的限定,可以包括比图示更多或更少的部件,或者不同的部件。

处理器601可以是中央处理单元(Central Processing Unit,CPU),也可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。

存储器602可以是电子设备6的内部存储单元,例如,电子设备6的硬盘或内存。存储器602也可以是电子设备6的外部存储设备,例如,电子设备6上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。存储器602还可以既包括电子设备6的内部存储单元也包括外部存储设备。存储器602用于存储计算机程序以及电子设备所需的其它程序和数据。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读存储介质(例如计算机可读存储介质)中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,计算机程序可以存储在计算机可读存储介质中,该计算机程序在被处理器执行时,可以实现上述各个方法实施例的步骤。计算机程序可以包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读存储介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random AccessMemory,RAM)、电载波信号、电信信号以及软件分发介质等。

以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

技术分类

06120116576416