CN111859850B - 富文本片段整体化的方法、装置、电子设备及存储介质 - Google Patents
富文本片段整体化的方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN111859850B CN111859850B CN202010747196.6A CN202010747196A CN111859850B CN 111859850 B CN111859850 B CN 111859850B CN 202010747196 A CN202010747196 A CN 202010747196A CN 111859850 B CN111859850 B CN 111859850B
- Authority
- CN
- China
- Prior art keywords
- cursor
- rich text
- character
- processed
- integrated
- 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
- 239000012634 fragment Substances 0.000 title claims abstract description 165
- 238000000034 method Methods 0.000 title claims abstract description 63
- 230000010354 integration Effects 0.000 claims abstract description 21
- 230000004044 response Effects 0.000 claims abstract description 21
- 230000001960 triggered effect Effects 0.000 claims abstract description 11
- 238000004891 communication Methods 0.000 claims description 3
- 238000004590 computer program Methods 0.000 claims description 3
- 238000004364 calculation method Methods 0.000 abstract description 11
- 238000011161 development Methods 0.000 abstract description 5
- 230000009471 action Effects 0.000 description 15
- 230000000694 effects Effects 0.000 description 14
- 230000008859 change Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 6
- 230000018109 developmental process Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000008719 thickening Effects 0.000 description 1
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
-
- 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/111—Mathematical or scientific formatting; Subscripts; Superscripts
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Algebra (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本申请提供一种富文本片段整体化的方法、装置、电子设备及存储介质,涉及富文本技术领域。其中,该方法通过获取待处理富文本,该待处理富文本包括:至少一个整体化片段的信息;遍历待处理富文本,获取待处理富文本对应的记录列表,该记录列表包括:至少一个整体化片段的起始字符下标、终止字符下标以及该整体化片段被触发时对应的操作;响应于在待处理富文本中的光标选择操作,根据记录列表确定目标整体化片段,实现了可以对待处理富文本中需要进行整体化的片段进行整体化操作,由于未引入标签或按钮,因此,不会带来额外的富文本占位计算工作和额外的控件管理工作,可以提高对富文本进行整体化的开发效率。
Description
技术领域
本申请涉及富文本技术领域,特别涉及一种富文本片段整体化的方法、装置、电子设备及存储介质。
背景技术
富文本格式(Rich Text Format,RTF)是一种跨平台文档格式,大多数的文字处理软件都能读取和保存成RTF文档,通常能够支持一般的格式设置,比如字体大小、颜色和段落设置等。实际应用情况下,存在如下场景要求:在一个富文本段落中,其中的部分文本片段之间存在较强的相关性,其表现为从用户操作的角度来说,这部分的片段应被视为一个整体,用户仅能将其作为一个整体进行上述操作,而不能分别针对片段中的单个字进行修改。
现有的,为了实现将富文本中的部分文本片段作为一个整体,基本采用使用标签或按钮来代替文本。
但现有的实现方式中,由于引入了标签或按钮,因此不可避免的会带来额外的富文本占位计算工作和额外的控件管理工作,存在开发效率低的问题。
发明内容
本申请的目的在于,针对上述现有技术中的不足,提供一种富文本片段整体化的方法、装置、电子设备及存储介质,可以提高富文本的开发效率。
为实现上述目的,本申请实施例采用的技术方案如下:
第一方面,本申请实施例提供了一种富文本片段整体化的方法,包括:
获取待处理富文本,待处理富文本包括:至少一个整体化片段的信息;
遍历待处理富文本,获取待处理富文本对应的记录列表,记录列表包括:至少一个整体化片段的起始字符下标、终止字符下标以及整体化片段被触发时对应的操作;
响应于在待处理富文本中的光标选择操作,根据记录列表确定目标整体化片段。
可选地,响应于在待处理富文本中的光标选择操作,根据记录列表确定目标整体化片段之后,方法还包括:
响应于针对目标整体化片段的触发操作,根据记录列表执行对应的操作。
可选地,遍历待处理富文本,获取待处理富文本对应的记录列表,包括:
遍历待处理富文本中的每个字符,为每个字符增加字符下标;
根据每个字符的字符下标,获取待处理富文本对应的记录列表。
可选地,响应于在待处理富文本中的光标选择操作,根据记录列表确定目标整体化片段,包括:
响应于在待处理富文本中的光标选择操作,获取光标的当前位置;
若确定光标的当前位置位于整体化片段内,根据记录列表确定目标整体化片段,并调整光标位置。
可选地,若确定光标的当前位置位于整体化片段内,根据记录列表调整光标位置,包括:
若确定光标的当前位置位于整体化片段内,且光标选择操作选中至少一个字符,根据记录列表获取当前位置对应的第一字符下标;
根据光标的当前位置和第一字符下标,获取光标的调整位置,并将光标从当前位置调整至调整位置。
可选地,根据光标的当前位置和第一字符下标,获取光标的调整位置,包括:
获取第一字符下标对应的第一整体化片段;
根据光标的当前位置和第一整体化片段,获取光标的调整位置。
可选地,若确定光标的当前位置位于整体化片段内,根据记录列表调整光标位置,包括:
若确定光标的当前位置位于整体化片段内,且光标选择操作未选中字符,根据记录列表获取当前位置对应的第二字符下标;
确定第二字符下标对应的第二整体化片段;
计算第二字符下标分别与第二整体化片段中起始字符下标、终止字符下标的距离,作为第一距离和第二距离,并根据第一距离和第二距离调整光标位置。
第二方面,本申请实施例提供一种富文本片段整体化的装置,包括:获取模块、遍历模块及确定模块;
获取模块,用于获取待处理富文本,待处理富文本包括:至少一个整体化片段的信息;
遍历模块,用于遍历待处理富文本,获取待处理富文本对应的记录列表,记录列表包括:至少一个整体化片段的起始字符下标、终止字符下标以及整体化片段被触发时对应的操作;
确定模块,用于响应于在待处理富文本中的光标选择操作,根据记录列表确定目标整体化片段。
可选地,确定模块,还用于响应于针对目标整体化片段的触发操作,根据记录列表执行对应的操作。
可选地,遍历模块,具体用于遍历待处理富文本中的每个字符,为每个字符增加字符下标;
根据每个字符的字符下标,获取待处理富文本对应的记录列表。
可选地,确定模块,具体用于响应于在待处理富文本中的光标选择操作,获取光标的当前位置;
若确定光标的当前位置位于整体化片段内,根据记录列表确定目标整体化片段,并调整光标位置。
可选地,确定模块,具体用于若确定光标的当前位置位于整体化片段内,且光标选择操作选中至少一个字符,根据记录列表获取当前位置对应的第一字符下标;
根据光标的当前位置和第一字符下标,获取光标的调整位置,并将光标从当前位置调整至调整位置。
可选地,确定模块,具体用于获取第一字符下标对应的第一整体化片段;
根据光标的当前位置和第一整体化片段,获取光标的调整位置。
可选地,确定模块,具体用于若确定光标的当前位置位于整体化片段内,且光标选择操作未选中字符,根据记录列表获取当前位置对应的第二字符下标;
确定第二字符下标对应的第二整体化片段;
计算第二字符下标分别与第二整体化片段中起始字符下标、终止字符下标的距离,作为第一距离和第二距离,并根据第一距离和第二距离调整光标位置。
第三方面,本申请实施例提供了一种电子设备,包括:处理器、存储介质和总线,存储介质存储有处理器可执行的机器可读指令,当电子设备运行时,处理器与存储介质之间通过总线通信,处理器执行机器可读指令,以执行上述第一方面的富文本片段整体化的方法的步骤。
第四方面,本申请实施例提供了一种存储介质,存储介质上存储有计算机程序,计算机程序被处理器运行时执行上述第一方面的富文本片段整体化的方法的步骤。
本申请的有益效果是:
本申请实施例提供的富文本片段整体化的方法、装置、电子设备及存储介质中,通过获取待处理富文本,待处理富文本包括:至少一个整体化片段的信息;遍历待处理富文本,获取待处理富文本对应的记录列表,记录列表包括:至少一个整体化片段的起始字符下标、终止字符下标以及整体化片段被触发时对应的操作;响应于在待处理富文本中的光标选择操作,根据记录列表确定目标整体化片段,实现了可以对待处理富文本中需要进行整体化的片段进行整体化操作,相较于现有技术,无需引入标签或按钮,不会带来额外的富文本占位计算工作和额外的控件管理工作,在一定程度上可以提高对富文本进行整体化的开发效率。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种富文本片段整体化的方法的流程示意图;
图2为本申请实施例提供的另一种富文本片段整体化的方法的流程示意图;
图3为本申请实施例提供的又一种富文本片段整体化的方法的流程示意图;
图4为本申请实施例提供的另一种富文本片段整体化的方法的流程示意图;
图5为本申请实施例提供的又一种富文本片段整体化的方法的流程示意图;
图6为本申请实施例提供的另一种富文本片段整体化的方法的流程示意图;
图7为本申请实施例提供的又一种富文本片段整体化的方法的流程示意图;
图8为本申请实施例提供的一种富文本片段整体化的装置的功能模块示意图;
图9为本申请实施例提供的一种电子设备结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
现有的,为了实现将富文本中的部分文本片段作为一个整体,基本采用使用标签或按钮来代替文本,具体实现方式如下:从原始富文本中提取出具有相关性的片段,并将其从原始富文本中删除,同时插入一个占位字符进行替代,再使用一个标签类型或按钮类型的控件摆放在占位字符的位置上;对于用户来说,对该标签或按钮的操作实际上是对这个占位字符进行操作,达到了将该片段作为一个整体的效果。
但现有的实现方式具有如下的缺点:其中,使用标签或按钮来代替文本,会带来额外的富文本占位计算工作和额外的控件管理工作,可以理解的是,使用占位符替代原先的富文本片段,布局到整个文本显示区域,必然要在布局前事先计算好占位符实际占位的大小,这将造成额外的计算工作,且不能随时灵活根据富文本展示变化,例如不同场景下字体大小颜色不同、段落方式不同等情况都需要重新计算,可复用性低;且实现过程中,还要对摆放的控件进行各方面的管理,例如创建、位置指定、渲染、销毁等,这将造成额外的管理工作。
此外,使用标签或按钮来代替文本,会造成段落计算的错误,例如待替换的片段的中间部分恰好处于行尾,则会出现在替换之前片段的前半部分处于当前行,而后半部分处于次行,替换之后或者整体处于当前行但是只能看到前半部分,或者整体处于次行,形成与替换前展示效果不一致的结果;且如果片段的总长超过可显示区域的宽度,则无论上述两种方式的哪一种都无法解决该问题。
其中,关于展示效果的表现方面,对于按钮来说,按钮本身也有一套自己的文本展示规则,如果要用按钮来模拟文本展示控件,则要求按钮的展示规则向文本控件靠拢,一旦出现文本展示控件的规则发生变化,则按钮控件也要及时跟随变化,维护成本高且容易造成遗漏;或按钮的展示规则上存在的限制,造成按钮无法完全模拟文本展示控件的规则的情况,使用按钮的实现方法在该情况就下存在可行性的问题。例如,有一处需要进行片段化的富文本展示需求,要求字体宋体,大小10号,无斜体加粗,这些要求背后实际上是隐含了一套完整的字体排布规则,字宽的计算,字体的换行计算,段落间隔等一系列规则;如果又有另一处字体或其他属性不同的展示需求,则实际上就又有一套新的规则;假设用前面描述的按钮方案来进行对比,则按钮需要对应两种需求,对应实现不同的计算和排布规则,如果再加不同展示需求,就又要增加对应的按钮实现,实现和维护成本过高,即体现为按钮的实现依赖于实际的富文本展示。
综上,现有的对富文本进行整体化的方法存在开发效率低的问题。有鉴于此,本申请实施例提供一种富文本片段整体化的方法,该方法未引入标签或按钮,不会带来额外的富文本占位计算工作和额外的控件管理工作,在一定程度上可以提高对富文本进行整体化的开发效率。
此外,该方法仅是对片段位置进行计算,由文本展示控件本身来提供规则,即不受具体展示需求变化影响,也能达到展示形式与其他文本保持一致的效果,且不会因字体大小颜色、段落格式等因素的变化造成占位控件也要跟随调整的效果,可扩展性好,易复用。
图1为本申请提供的一种富文本片段整体化的方法的流程示意图,该方法的执行主体可以是计算机、服务器、处理器等可以进行数据处理的设备,如图1所示,该方法包括:
S101、获取待处理富文本,待处理富文本包括:至少一个整体化片段的信息。
其中,待处理富文本可以是需要进行处理的富文本,该待处理富文本可以包括至少一个整体化片段的信息,也即可以包括哪些片段需要整体化的信息,可以将该待处理富文本以文件导入的方式导入上述可以进行数据处理的设备。
S102、遍历待处理富文本,获取待处理富文本对应的记录列表,记录列表包括:至少一个整体化片段的起始字符下标、终止字符下标以及整体化片段被触发时对应的操作。
其中,整体化片段的起始字符下标可以指示该整体化片段的起始位置、整体化片段的终止字符下标可以指示该整体化片段的终止位置(也即结尾位置)、整体化片段被触发时对应的操作可以指示该整体化片段被触发响应时应执行的操作,当然,根据实际的应用场景,整体化片段被触发可以有响应(比如,跳转到特定网址),也可以没有响应(也即不作任何操作),本申请在此不作限定。
对于该待处理富文本,通过遍历的方式遍历该待处理富文本,可以获取该待处理富文本中至少一个整体化片段的信息,并将其记录至记录列表,使得通过该记录列表可以反映至少一个整体化片段的信息。
S103、响应于在待处理富文本中的光标选择操作,根据记录列表确定目标整体化片段。
其中,光标选择操作可以用于对该待处理富文本进行选择,通过光标选择操作可以形成待处理富文本中至少一个字符被选中或未选中的结果,响应于该光标选择操作,可以根据上述记录列表确定目标整体化片段,实现了可以对待处理富文本中需要进行整体化的片段进行整体化操作。
由上可知,应用本申请实施例,是将需要整体化的片段信息用数据记录,而非直接破坏原始数据进行占位符替换,如此,避免了文本与占位符布局相关的一系列复杂计算和管理,降低了成本和风险,提高了效率;此外,本申请实施例所提供的富文本片段整体化的方法,其中,富文本片段的展示效果可以直接跟随文本展示控件本身,不需要进行额外的展示计算和控件管理开销,且该方法可作用于各种场景下,而不会受到具体展示需求变化的影响,可扩展性好,易复用。
综上,本申请实施例所提供的富文本片段整体化的方法,通过获取待处理富文本,待处理富文本包括:至少一个整体化片段的信息;遍历待处理富文本,获取待处理富文本对应的记录列表,记录列表包括:至少一个整体化片段的起始字符下标、终止字符下标以及整体化片段被触发时对应的操作;响应于在待处理富文本中的光标选择操作,根据记录列表确定目标整体化片段,实现了可以对待处理富文本中需要进行整体化的片段进行整体化操作,相较于现有技术,无需引入标签或按钮,不会带来额外的富文本占位计算工作和额外的控件管理工作,在一定程度上可以提高对富文本进行整体化的开发效率。
图2为本申请实施例提供的另一种富文本片段整体化的方法的流程示意图。可选地,如图2所示,响应于在待处理富文本中的光标选择操作,根据记录列表确定目标整体化片段之后,上述方法还包括:
S201、响应于针对目标整体化片段的触发操作,根据记录列表执行对应的操作。
其中,触发操作可以通过用户点击(单击或多击)、长按等方式作用于目标整体化片段产生,而响应该触发操作,可以根据上述的记录列表执行对应的操作。可选地,所执行的操作可以包括:跳转到特定网址、下载文件、软件等中的一个或多个,本申请在此不作限定,根据实际的应用场景可以有所不同,比如,还可以改变光标的外形,但不以此为限。
举例说明,对于某目标整体化片段,若用户操作光标移动悬浮到该目标整体化片段的位置时可以改变光标的外形,点击的时候则打开某个超链接。
当然,本申请在此并不限定上述触发操作的触发方式,也可以是目标整体化片段未被选中、未被点击等,比如,该目标整体化片段未被点击时,则执行对应操作。
图3为本申请实施例提供的又一种富文本片段整体化的方法的流程示意图。可选地,如图3所示,上述遍历待处理富文本,获取待处理富文本对应的记录列表,可以包括:
S301、遍历待处理富文本中的每个字符,为每个字符增加字符下标。
S302、根据每个字符的字符下标,获取待处理富文本对应的记录列表。
其中,可以通过遍历的方式遍历待处理富文本中的每个字符,通过遍历,为每个字符增加相应的字符下标,可选地,该字符下标可以从0开始,依次增加,通过遍历,使得待处理富文本中的每个字符均有对应的字符下标,则根据待处理富文本包括的至少一个整体化片段的信息,以及每个字符的字符下标,可以获取待处理富文本对应的记录列表。
其中,该记录列表可以包括相应的字段,通过该字段对应的字段值可以记录至少一个整体化片段的信息。比如,该记录列表可以记为listRTFInfo列表,该listRTFInfo列表可以包括fragment字段、StartIndex字段、EndIndex字段以及Action字段,其中,fragment字段对应的字段值可以记录整体化片段的片段标识,StartIndex字段和EndIndex字段对应的字段值可以分别用于记录与其对应的fragment片段的起始字符下标、终止字符下标,Action字段对应的字段值可以记录与其对应的fragment片段被触发时对应的操作,其中,Action字段对应的字段值可以为空,用于指示无响应。
可以理解的是,待处理富文本未发生变化时,记录列表的获取过程可以只进行一次即可,即后续不需要重新进行遍历和记录,但是如果该待处理富文本发生变化(比如,对该待处理富文本进行了增加、删除等),则需要重新记录,以保证记录列表可以根据待处理富文本的变化而实时更新,重新遍历、记录的过程可参加前述的相关内容,本申请在此不再赘述。
图4为本申请实施例提供的另一种富文本片段整体化的方法的流程示意图。可选地,如图4所示,上述响应于在待处理富文本中的光标选择操作,根据记录列表确定目标整体化片段,可以包括:
S401、响应于在待处理富文本中的光标选择操作,获取光标的当前位置。
S402、若确定光标的当前位置位于整体化片段内,根据记录列表确定目标整体化片段,并调整光标位置。
其中,通过光标选择操作可以形成待处理富文本中至少一个字符被选中或没有字符被选中的结果。比如,用户触发了光标单点行为,造成了光标定位位置变化,但没有字符被选中,或者,用户触发了拖选行为,造成了光标定位位置变化,且形成至少一个字符被选中的结果,响应于该光标选择操作,获取光标的当前位置,判断光标的当前位置是否位于待处理富文本中任一整体化片段内,若位于任一整体化片段内,根据上述记录列表可以确定目标整体化片段,并调整光标的位置。
可以理解的是,对于待处理富文本中的整体化片段,光标位置不可落在整体化片段之内,只能落在整体化片段的起始位置(即整体化片段的起始字符下标位置)或结尾位置(即整体化片段的终止字符下标位置),因此需要调整光标的位置,使得通过调整,从用户的角度来看可以达到将整体化片段作为一个整体的效果。当然,可以理解的是,对于整体化片段来说,如果发生删除操作,则是将该整体化片段进行删除。
图5为本申请实施例提供的又一种富文本片段整体化的方法的流程示意图。可选地,如图5所示,上述若确定光标的当前位置位于整体化片段内,根据记录列表调整光标位置,可以包括:
S501、若确定光标的当前位置位于整体化片段内,且光标选择操作选中至少一个字符,根据记录列表获取当前位置对应的第一字符下标。
其中,若光标的当前位置位于任一整体化片段内,光标选择操作为用户的拖选行为,该光标选择操作形成了至少一个字符被选中的结果,可以根据上述记录列表获取当前位置对应的第一字符下标。可以理解的是,其中,用户的拖选行为可以包括从前往后、和从后往前的拖选行为,相应地,光标的当前位置可以指示该光标位于至少一个字符的开头位置(可以对应从后往前的拖选行为),或结尾位置(可以对应从前往后的拖选行为)。
举例说明,某待处理富文本有11个字符,若用户从第6个字符开始进行拖选,往后拖选中5个字符后释放,则实际上是形成了6至11字符的选中状态,且光标的当前位置在第11个字符,即光标的当前位置在该选中的多个字符的尾部;反之,往前拖选5个字符后释放,则实际上是形成了1至5字符的选中状态,且光标的当前位置在第1个字符,即光标的当前位置在该选中的多个字符的开头。
S502、根据光标的当前位置和第一字符下标,获取光标的调整位置,并将光标从当前位置调整至调整位置。
在获取到当前位置对应的第一字符下标后,可根据光标的当前位置所指示的位置和该第一字符下标,获取光标的调整位置,从而可以将光标从当前位置调整至调整位置,实现光标位置的调整。
需要说明的是,光标的当前位置可以指示该光标位于选中的至少一个字符的开头位置,还是结尾位置,因此,根据该指示位置,可以对光标的当前位置进行调整,相应地,该调整位置可以是当前位置所处整体化片段的起始位置或结尾位置,使得从用户的角度来看,对于待处理富文本中的整体化片段,光标位置只能落在整体化片段的起始位置或结尾位置,实现对整体化片段的整体化操作。
图6为本申请实施例提供的另一种富文本片段整体化的方法的流程示意图。可选地,如图6所示,上述根据光标的当前位置和第一字符下标,获取光标的调整位置,可以包括:
S601、获取第一字符下标对应的第一整体化片段。
S602、根据光标的当前位置和第一整体化片段,获取光标的调整位置。
其中,通过获取第一字符下标对应的第一整体化片段,可以确定光标的当前位置所处的整体化片段,进而根据该当前位置所指示位置(指示该光标位于选中的至少一个字符的开头位置,还是结尾位置)和该第一整体化片段,可以获取光标的调整位置。
可以理解的是,若光标的当前位置指示该光标位于选中的至少一个字符的开头,则可以将光标从当前位置调整至整体化片段的起始位置;反之,若光标的当前位置指示该光标位于选中的至少一个字符的结尾,则可以将光标从当前位置调整至整体化片段的结尾位置。
综上,应用本申请实施例,使得可以模拟片段的整体感,即若光标的当前位置更靠近整体化片段的起始位置,将光标调整至该整体化片段的起始位置,则认为实际上是点击在该整体化片段的开头;若光标的当前位置更靠近整体化片段的结尾位置,将光标调整至该整体化片段的结尾位置,则认为实际上是点击在该整体化片段的结尾,使实际操作体验更接近于通常思维,提高用户的交互体验。
图7为本申请实施例提供的又一种富文本片段整体化的方法的流程示意图。可选地,如图7所示,上述若确定光标的当前位置位于整体化片段内,根据记录列表调整光标位置,包括:
S701、若确定光标的当前位置位于整体化片段内,且光标选择操作未选中字符,根据记录列表获取当前位置对应的第二字符下标。
S702、确定第二字符下标对应的第二整体化片段。
S703、计算第二字符下标分别与第二整体化片段中起始字符下标、终止字符下标的距离,作为第一距离和第二距离,并根据第一距离和第二距离调整光标位置。
其中,若光标的当前位置位于任一整体化片段内,光标选择操作为用户的单点行为,该光标选择操作未选中字符,则可以根据上述记录列表可以获取当前位置对应的第二字符下标,确定该第二字符下标所对应的第二整体化片段。
在确定该第二整体化片段后,根据该第二整体化片段,可以计算第二字符下标与第二整体化片段的起始字符下标之间的距离,将其作为第一距离;计算第二字符下标与第二整体化片段的终止字符下标之间的距离,将其作为第二距离,该第一距离和第二距离可以分别指示光标的当前位置距离该第二整体化片段的起始位置和终止位置之间的距离。
在获取到该第一距离和第二距离后,可以选取距离较小所对应的字符位置作为光标的调整位置。举例说明,比较第一距离和第二距离的大小,若第一距离小于第二距离,可以将该第二整体化片段中起始字符的位置作为光标的调整位置,反之,可以将该第二整体化片段中终止字符的位置作为光标的调整位置。通过调整,使得光标位置可以落在整体化片段的起始位置(即整体化片段的起始字符下标位置)或结尾位置(即整体化片段的终止字符下标位置),实现了可以根据光标的当前位置调整光标的位置至整体化片段边缘以模拟片段整体,从用户的角度来看可以达到将整体化片段作为一个整体的效果。
由于可以看出,相较于未进行光标调整的情况,当光标原本位于整体化片段之内时,就会让用户得知这些片段实际上不是一个整体,可以进行插入或删除等操作的错觉;而本申请每次操作后通过调整光标位置,使得光标仅能落在整体化片段的开头或结尾,使得用户可以意识到这些片段实际上是一个整体,不能对其内部进行修改,如果删除也只能将整个片段删除,可以达到将整体化片段作为一个整体进行操作的效果。
图8为本申请实施例提供的一种富文本片段整体化的装置的功能模块示意图,该装置基本原理及产生的技术效果与前述对应的方法实施例相同,为简要描述,本实施例中未提及部分,可参考方法实施例中的相应内容。如图8所示,该富文本片段整体化的装置100包括:获取模块110、遍历模块120及确定模块130。
获取模块110,用于获取待处理富文本,待处理富文本包括:至少一个整体化片段的信息;遍历模块120,用于遍历待处理富文本,获取待处理富文本对应的记录列表,记录列表包括:至少一个整体化片段的起始字符下标、终止字符下标以及整体化片段被触发时对应的操作;确定模块130,用于响应于在待处理富文本中的光标选择操作,根据记录列表确定目标整体化片段。
可选地,确定模块130,还用于响应于针对目标整体化片段的触发操作,根据记录列表执行对应的操作。
可选地,遍历模块120,具体用于遍历待处理富文本中的每个字符,为每个字符增加字符下标;根据每个字符的字符下标,获取待处理富文本对应的记录列表。
可选地,确定模块130,具体用于响应于在待处理富文本中的光标选择操作,获取光标的当前位置;若确定光标的当前位置位于整体化片段内,根据记录列表确定目标整体化片段,并调整光标位置。
可选地,确定模块130,具体用于若确定光标的当前位置位于整体化片段内,且光标选择操作选中至少一个字符,根据记录列表获取当前位置对应的第一字符下标;根据光标的当前位置和第一字符下标,获取光标的调整位置,并将光标从当前位置调整至调整位置。
可选地,确定模块130,具体用于获取第一字符下标对应的第一整体化片段;根据光标的当前位置和第一整体化片段,获取光标的调整位置。
可选地,确定模块130,具体用于若确定光标的当前位置位于整体化片段内,且光标选择操作未选中字符,根据记录列表获取当前位置对应的第二字符下标;确定第二字符下标对应的第二整体化片段;计算第二字符下标分别与第二整体化片段中起始字符下标、终止字符下标的距离,作为第一距离和第二距离,并根据第一距离和第二距离调整光标位置。
上述装置用于执行前述实施例提供的方法,其实现原理和技术效果类似,在此不再赘述。
以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个微处理器(Digital Signal Processor,简称DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,简称FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(CentralProcessing Unit,简称CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,简称SOC)的形式实现。
图9为本申请实施例提供的一种电子设备结构示意图。如图9所示,该电子设备可以包括:处理器210、存储介质220和总线230,存储介质220存储有处理器210可执行的机器可读指令,当电子设备运行时,处理器210与存储介质220之间通过总线230通信,处理器210执行机器可读指令,以执行上述方法实施例的步骤。具体实现方式和技术效果类似,这里不再赘述。
可选地,本申请还提供一种存储介质,存储介质上存储有计算机程序,计算机程序被处理器运行时执行上述方法实施例的步骤。具体实现方式和技术效果类似,这里不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本申请各个实施例方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取存储器(英文:Random Access Memory,简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。以上仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (8)
1.一种富文本片段整体化的方法,其特征在于,包括:
获取待处理富文本,所述待处理富文本包括:至少一个整体化片段的信息;
遍历所述待处理富文本,获取所述待处理富文本对应的记录列表,所述记录列表包括:至少一个整体化片段的起始字符下标、终止字符下标以及所述整体化片段被触发时对应的操作;
响应于在所述待处理富文本中的光标选择操作,根据所述记录列表确定目标整体化片段;
所述响应于在所述待处理富文本中的光标选择操作,根据所述记录列表确定目标整体化片段,包括:
响应于在所述待处理富文本中的光标选择操作,获取所述光标的当前位置;
若确定所述光标的当前位置位于所述整体化片段内,根据所述记录列表确定目标整体化片段,并调整光标位置,其中,光标的调整位置包括所述目标整体化片段的边缘;
所述若确定所述光标的当前位置位于所述整体化片段内,根据所述记录列表调整光标位置,包括:
若确定所述光标的当前位置位于所述整体化片段内,且所述光标选择操作未选中字符,根据所述记录列表获取所述当前位置对应的第二字符下标;
确定所述第二字符下标对应的第二整体化片段;
计算所述第二字符下标分别与第二整体化片段中起始字符下标、终止字符下标的距离,作为第一距离和第二距离,并根据所述第一距离和所述第二距离调整光标位置。
2.根据权利要求1所述的方法,其特征在于,所述响应于在所述待处理富文本中的光标选择操作,根据所述记录列表确定目标整体化片段之后,所述方法还包括:
响应于针对所述目标整体化片段的触发操作,根据所述记录列表执行对应的操作。
3.根据权利要求1所述的方法,其特征在于,所述遍历所述待处理富文本,获取所述待处理富文本对应的记录列表,包括:
遍历所述待处理富文本中的每个字符,为每个所述字符增加字符下标;
根据每个所述字符的字符下标,获取所述待处理富文本对应的记录列表。
4.根据权利要求1所述的方法,其特征在于,所述若确定所述光标的当前位置位于所述整体化片段内,根据所述记录列表调整光标位置,包括:
若确定所述光标的当前位置位于所述整体化片段内,且所述光标选择操作选中至少一个字符,根据所述记录列表获取所述当前位置对应的第一字符下标;
根据所述光标的当前位置和所述第一字符下标,获取所述光标的调整位置,并将所述光标从所述当前位置调整至所述调整位置。
5.根据权利要求4所述的方法,其特征在于,所述根据所述光标的当前位置和所述第一字符下标,获取所述光标的调整位置,包括:
获取所述第一字符下标对应的第一整体化片段;
根据所述光标的当前位置和所述第一整体化片段,获取所述光标的调整位置。
6.一种富文本片段整体化的装置,其特征在于,包括:获取模块、遍历模块及确定模块;
所述获取模块,用于获取待处理富文本,所述待处理富文本包括:至少一个整体化片段的信息;
所述遍历模块,用于遍历所述待处理富文本,获取所述待处理富文本对应的记录列表,所述记录列表包括:至少一个整体化片段的起始字符下标、终止字符下标以及所述整体化片段被触发时对应的操作;
所述确定模块,用于响应于在所述待处理富文本中的光标选择操作,根据所述记录列表确定目标整体化片段;
所述确定模块,具体用于响应于在待处理富文本中的光标选择操作,获取光标的当前位置;
若确定光标的当前位置位于整体化片段内,根据记录列表确定目标整体化片段,并调整光标位置,其中,光标的调整位置包括所述目标整体化片段的边缘;
所述确定模块,具体用于若确定所述光标的当前位置位于所述整体化片段内,且所述光标选择操作未选中字符,根据所述记录列表获取所述当前位置对应的第二字符下标;
确定所述第二字符下标对应的第二整体化片段;
计算所述第二字符下标分别与第二整体化片段中起始字符下标、终止字符下标的距离,作为第一距离和第二距离,并根据所述第一距离和所述第二距离调整光标位置。
7.一种电子设备,其特征在于,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行如权利要求1-5任一项所述方法的步骤。
8.一种存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1-5任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010747196.6A CN111859850B (zh) | 2020-07-29 | 2020-07-29 | 富文本片段整体化的方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010747196.6A CN111859850B (zh) | 2020-07-29 | 2020-07-29 | 富文本片段整体化的方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111859850A CN111859850A (zh) | 2020-10-30 |
CN111859850B true CN111859850B (zh) | 2024-05-10 |
Family
ID=72945231
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010747196.6A Active CN111859850B (zh) | 2020-07-29 | 2020-07-29 | 富文本片段整体化的方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111859850B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102799568A (zh) * | 2011-05-26 | 2012-11-28 | 腾讯科技(深圳)有限公司 | 只读文本的选中复制方法及系统 |
CN102915328A (zh) * | 2012-09-04 | 2013-02-06 | 新浪网技术(中国)有限公司 | 编辑富文本的方法及富文本编辑器 |
CN103745003A (zh) * | 2014-01-24 | 2014-04-23 | 北京京东尚科信息技术有限公司 | Html片段的检测方法 |
CN103761216A (zh) * | 2013-12-24 | 2014-04-30 | 上海斐讯数据通信技术有限公司 | 编辑文本的方法及移动终端 |
CN106202014A (zh) * | 2016-06-28 | 2016-12-07 | 乐视控股(北京)有限公司 | 富文本编辑方法、装置和移动终端 |
CN107656908A (zh) * | 2017-09-04 | 2018-02-02 | 广州视源电子科技股份有限公司 | 占位符的实现方法和系统 |
CN109299424A (zh) * | 2018-11-29 | 2019-02-01 | 北京字节跳动网络技术有限公司 | 一种基于富文本提供响应事件的方法、装置和计算机记录介质 |
CN109543174A (zh) * | 2017-09-21 | 2019-03-29 | 广州腾讯科技有限公司 | 文本选择方法、装置、计算机可读存储介质和计算机设备 |
CN109683906A (zh) * | 2018-12-25 | 2019-04-26 | 北京小米移动软件有限公司 | 处理html代码片段的方法及装置 |
CN109815243A (zh) * | 2019-02-18 | 2019-05-28 | 北京仁和汇智信息技术有限公司 | 一种文档界面化修改时的结构化存储方法和装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7890852B2 (en) * | 2003-06-26 | 2011-02-15 | International Business Machines Corporation | Rich text handling for a web application |
US8694904B2 (en) * | 2008-04-15 | 2014-04-08 | Microsoft Corporation | Cross-browser rich text editing via a hybrid client-side model |
-
2020
- 2020-07-29 CN CN202010747196.6A patent/CN111859850B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102799568A (zh) * | 2011-05-26 | 2012-11-28 | 腾讯科技(深圳)有限公司 | 只读文本的选中复制方法及系统 |
CN102915328A (zh) * | 2012-09-04 | 2013-02-06 | 新浪网技术(中国)有限公司 | 编辑富文本的方法及富文本编辑器 |
CN103761216A (zh) * | 2013-12-24 | 2014-04-30 | 上海斐讯数据通信技术有限公司 | 编辑文本的方法及移动终端 |
CN103745003A (zh) * | 2014-01-24 | 2014-04-23 | 北京京东尚科信息技术有限公司 | Html片段的检测方法 |
CN106202014A (zh) * | 2016-06-28 | 2016-12-07 | 乐视控股(北京)有限公司 | 富文本编辑方法、装置和移动终端 |
CN107656908A (zh) * | 2017-09-04 | 2018-02-02 | 广州视源电子科技股份有限公司 | 占位符的实现方法和系统 |
CN109543174A (zh) * | 2017-09-21 | 2019-03-29 | 广州腾讯科技有限公司 | 文本选择方法、装置、计算机可读存储介质和计算机设备 |
CN109299424A (zh) * | 2018-11-29 | 2019-02-01 | 北京字节跳动网络技术有限公司 | 一种基于富文本提供响应事件的方法、装置和计算机记录介质 |
CN109683906A (zh) * | 2018-12-25 | 2019-04-26 | 北京小米移动软件有限公司 | 处理html代码片段的方法及装置 |
CN109815243A (zh) * | 2019-02-18 | 2019-05-28 | 北京仁和汇智信息技术有限公司 | 一种文档界面化修改时的结构化存储方法和装置 |
Non-Patent Citations (1)
Title |
---|
电子课业手写批注系统的实现;邹溪;董险峰;;吉林大学学报(信息科学版);20130915(第05期);95-99 * |
Also Published As
Publication number | Publication date |
---|---|
CN111859850A (zh) | 2020-10-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109408764B (zh) | 页面区域划分方法、装置、计算设备和介质 | |
US7522176B2 (en) | Dynamically generating mini-graphs to represent style and template icons | |
US10380778B2 (en) | Automated chart generation within a document generation application using heuristic model with predefined data types | |
CA2795183C (en) | Temporary formatting and charting of selected data | |
CN107851090A (zh) | 可视化文档修订 | |
US9311289B1 (en) | Spreadsheet document tab conditional formatting | |
CN110032700B (zh) | 信息发布控制方法、装置、存储介质及电子设备 | |
US10853336B2 (en) | Tracking database changes | |
US9910835B2 (en) | User interface for creation of content works | |
WO2020259141A1 (zh) | 一种文件处理方法、装置及计算机设备 | |
CN103109264A (zh) | 创建配置文件模板 | |
CN107391656B (zh) | 基于蒙版的web表单设计方法 | |
CN111291533B (zh) | 待显示句段的显示方法、装置、计算机设备和存储介质 | |
CN109815243B (zh) | 一种文档界面化修改时的结构化存储方法和装置 | |
US20180018315A1 (en) | Information processing device, program, and information processing method | |
CN114217794A (zh) | 页面设计方法、客户端设备、可读介质及程序产品 | |
CN111859850B (zh) | 富文本片段整体化的方法、装置、电子设备及存储介质 | |
CN113177389A (zh) | 文本处理方法、装置、电子设备及存储介质 | |
CN115577683B (zh) | 一种html富文本内容转换方法、装置、设备和介质 | |
CN115543288A (zh) | 代码信息的生成方法、装置、设备及存储介质 | |
US20210319172A1 (en) | Computing device for multiple cell linking | |
EP3164783B1 (en) | Graphical user interface for non-hierarchical file system | |
US10627997B1 (en) | System and method for highlighting dependent slides while editing master slides of a presentation | |
CN115599269B (zh) | 实验报告的生成方法、装置及电子设备 | |
CN110147543B (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 |