一种富文本编辑方法及系统的制作方法

文档序号:10488914阅读:300来源:国知局
一种富文本编辑方法及系统的制作方法
【专利摘要】本发明公开了一种富文本编辑方法及系统。所述方法包括以下步骤:(1)获取存储有富文本编辑对象的原始数据数组;(2)对于其中的每一个数据,利用预先定义的富文本对象模型转换为统一的富文本对象;(3)在编辑框中,依次显示解析出的所有富文本对象;(4)在编辑框中插入或删除富文本对象;(5)创建更新后的数据数组,获取处理后的编辑框中所有的富文本对象,对于其中每一个富文本对象,根据其类型按照预先创建的类型字典记载,提取其相应属性加入到更新后的数据数组中。所述系统包括初始化模块、解析模块、呈现模块、编辑模块、返解析模块。本发明能够直观展现编辑框内的富文本编辑效果,所见即所得,大幅降低开发门槛。
【专利说明】
一种富文本编辑方法及系统
技术领域
[0001 ]本发明属于计算机技术领域,更具体地,涉及一种富文本编辑方法及系统。
【背景技术】
[0002] 目前各种系统的编辑框,一般将不同格式的素材,如文本、图片、和视频在不同的 区域进行编辑。例如需要插入文本时,先插入文本框,在文本框内对文本进行编辑;需要插 入图片时,图片作为一个独立的编辑对象编辑。这样开发者对于不同对象要理解其后台系 统的实现方式,才能实现富文本编辑,从而呈现多媒体效果。
[0003] 现有的技术实现富文本编辑,例如网页开发,对开发者的要求较高,编辑过程复 杂、不直观。目前在ios平台并没有一种富文本编辑系统,能通过统一的逻辑编辑不同格式 的素材。

【发明内容】

[0004] 针对现有技术的以上缺陷或改进需求,本发明提供了一种富文本编辑方法及系 统,其目的在于通过对不同类型的素材进行在同一的编辑框中进行编辑,由此解决现有的 系统富文本编辑方法操作复杂、开发门槛高、编辑不直观的技术问题。
[0005] 为实现上述目的,按照本发明的一个方面,提供了一种富文本编辑方法,包括以下 步骤:
[0006] (1)初始化:获取存储有富文本编辑对象的原始数据数组;
[0007] (2)解析:对于步骤(1)获取的原始数据数组中的每一个数据,利用预先定义的富 文本对象模型转换为统一的富文本对象;所述富文本对象包括类型属性,用于标记所述数 据的类型;
[0008] (3)呈现:在编辑框中,依次显示步骤(2)解析出的所有富文本对象;
[0009] (4)编辑:在编辑框中插入或删除富文本对象;
[0010] (5)返解析:创建更新后的数据数组,获取步骤(4)处理后的编辑框中所有的富文 本对象,对于其中每一个富文本对象,根据其类型按照预先创建的类型字典记载,提取其相 应属性,加入到更新后的数据数组中。
[0011]优选地,所述富文本编辑方法,其步骤(1)所述富文本编辑对象包括:文本富文本 对象、表情富文本对象、图片富文本对象、视频富文本对象、以及超链接富文本对象。
[0012] 优选地,所述富文本编辑方法,步骤(2)所述对于步骤(1)获取的原始数据数组中 的每一个数据,利用预先定义的富文本对象模型转换为统一的富文本对象,具体为:
[0013] 对于步骤(1)获取的原始数据数组中的每一个数据,确定其类型并将类型值记录 在所述富文本对象模型的类型属性中,根据富文本对象类型属性的值以及预先创建的类型 字典,在相应类型的模型中记录该数据。
[0014] 优选地,所述富文本编辑方法,其步骤(2)所述类型字典用于记录各富文本对象的 类型对应的对象属性。
[0015] 优选地,所述富文本编辑方法,其步骤(2)所述各富文本对象的类型对应的对象属 性可集成系统提供的富文本对象模型的属性。
[0016] 按照本发明的另一个方面,提供了一种富文本编辑系统,包括:
[0017] 初始化模块:用于获取存储有富文本编辑对象的原始数据数组;
[0018] 解析模块:用于对所述原始数据数组中的每一个数据,利用预先定义的富文本对 象模型转换为统一的富文本对象,提交给呈现模块;所述富文本对象包括类型属性,用于标 记所述数据的类型;
[0019] 呈现模块:用于在编辑框中显示解析模块解析出的所有富文本对象;
[0020] 编辑模块:包括插入子模块和删除子模块;所述插入子模块,用于将插入对象加入 到所述数据数组中,并通过解析模块解析,呈现模块显示在所述编辑框中;所述删除子模 块,用于取消被删除对象在呈现模块中的显示状态;
[0021] 返解析模块:用于创建更新后的数据数组,获取编辑框中所有的富文本对象,对于 其中每一个富文本对象,根据其类型按照预先创建的类型字典记载,提取其相应属性,加入 到更新后的数据数组中。
[0022] 优选地,所述富文本编辑系统,其所述富文本编辑对象,包括文本富文本对象、表 情富文本对象、图片富文本对象、视频富文本对象、以及超链接富文本对象。
[0023] 优选地,所述富文本编辑系统,所述解析模块对所述原始数据数组中的每一个数 据利用预先定义的富文本对象模型转换为统一的富文本对象,具体为:
[0024] 对于原始数据中的每一个数据,确定其类型并记录在所述富文本对象模型的类型 属性中,根据富文本对象类型属性的值以及预先创建的类型字典,在相应类型的模型中记 录该数据。
[0025] 优选地,所述富文本编辑系统,其所述类型字典用于记录各富文本对象的类型对 应的对象属性。
[0026] 优选地,所述富文本编辑系统,其所述各富文本对象的类型对应的对象属性可集 成系统提供的富文本对象模型的属性。
[0027] 总体而言,通过本发明所构思的以上技术方案与现有技术相比,本发明提供的富 文本编辑方法及系统由于将不同类型的富文本采用统一的模型转换成统一的富文本对象, 进行统一的呈现和编辑,能够直观展现编辑框内的富文本编辑效果,所见即所得,大幅降低 开发门槛。
【附图说明】
[0028]图1是本发明实施例1的流程不意图;
[0029] 图2是本发明实施例2的结构示意图。
【具体实施方式】
[0030] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对 本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并 不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要 彼此之间未构成冲突就可以相互组合。
[0031] 本发明提供的富文本编辑方法,包括以下步骤:
[0032] (1)初始化:获取存储有富文本编辑对象的原始数据数组;
[0033] 所述富文本编辑对象,包括文本富文本对象、表情富文本对象、图片富文本对象、 视频富文本对象、以及超链接富文本对象。
[0034] (2)解析:对于步骤(1)获取的原始数据数组中的每一个数据,利用预先定义的富 文本对象模型转换为统一的富文本对象。
[0035] 所述富文本对象模型(XXEditThemeModel)其包含一个属性用于标记所述富文本 对象的具体类型(style),根据富文本对象类型以及预先创建的类型字典,在相应类型的模 型中记录类型相应属性值。
[0036] 所述类型字典用于记录各富文本对象的类型对应的对象属性,其中各各富文本对 象的类型对应的对象属性可集成系统提供的富文本对象模型的属性,同时根据需要时添加 其他属性。
[0037] 具体地,对于步骤(1)获取的原始数据数组中的每一个数据,确定其类型并将类型 值记录在所述富文本对象模型的类型属性中,根据富文本对象类型属性的值以及预先创建 的类型字典,在相应类型的模型中记录该数据。
[0038]例如在iOS系统下,当类型属性为图片时,即style属性为image,对于该对象取图 片模型参数:图片地址(src)、高度(height)、宽度(width)记录在另一个图片模型 (XXImageAttachementl)中,所述图片模型继承自iOS系统提供的NSTextAttachement、增加 源地址属性。
[0039] (3)呈现:在编辑框中,依次显示步骤(2)解析出的所有富文本对象;
[0040] (4)编辑:在编辑框中插入或删除富文本对象。当插入富文本对象时:将插入内容 利用所述富文本对象模型进行解析,显示在所述编辑框中;当删除富文本对象时,取消被删 除富文本对象的显示。
[0041] (5)返解析:创建更新后的数据数组,获取步骤(4)处理后的编辑框中所有的富文 本对象,对于其中每一个富文本对象,根据其类型按照预先创建的类型字典记载,提取其相 应属性,加入到更新后的数据数组中。
[0042] 本发明提供的富文本编辑系统,包括:
[0043] 初始化模块:用于获取存储有富文本编辑对象的原始数据数组;所述富文本编辑 对象,包括文本富文本对象、表情富文本对象、图片富文本对象、视频富文本对象、以及超链 接富文本对象。
[0044] 解析模块:用于对所述原始数据数组中的每一个数据,利用预先定义的富文本对 象模型转换为统一的富文本对象,提交给呈现模块。所述富文本对象包括类型属性,用于标 记所述数据的类型。
[0045] 具体地,所述解析模块对于原始数据中的每一个数据,确定其类型并记录在所述 富文本对象模型的类型属性中,根据富文本对象类型属性的值以及预先创建的类型字典, 在相应类型的模型中记录该数据。
[0046] 所述富文本对象模型(XXEditThemeModel)其包含一个属性用于标记所述富文本 对象的具体类型(style),根据富文本对象类型以及预先创建的类型字典,在相应类型的模 型中记录类型相应属性值。
[0047]所述类型字典用于记录各富文本对象的类型对应的对象属性,其中各富文本对象 的类型对应的对象属性可集成系统提供的富文本对象模型的属性,同时根据需要时添加其 他属性。
[0048]呈现模块:用于在编辑框中显示解析模块解析出的所有富文本对象;
[0049] 编辑模块:包括插入子模块和删除子模块;所述插入子模块,用于将插入对象加入 到所述数据数组中,并通过解析模块解析,呈现模块显示在所述编辑框中;所述删除子模 块,用于取消被删除对象在呈现模块中的显示状态;
[0050] 返解析模块:用于创建更新后的数据数组,获取编辑框中所有的富文本对象,对于 其中每一个富文本对象,根据其类型按照预先创建的类型字典记载,提取其相应属性,加入 到更新后的数据数组中。
[0051 ]以下为实施例:
[0052] 实施例1
[0053] 一种富文本编辑方法,基于iOS操作系统实现,如图1所示,包括以下步骤:
[0054] (1)初始化:获取存储有富文本编辑对象的原始数据数组;
[0055] 所述富文本编辑对象,包括文本富文本对象、表情富文本对象、图片富文本对象、 视频富文本对象、以及超链接富文本对象。
[0056] (2)解析:对于步骤(1)获取的原始数据数组中的每一个数据,利用预先定义的富 文本对象模型转换为统一的富文本对象(XXEditThemeModel )。
[0057]预先创建的类型字典,如下:

[0060] 所述富文本对象模型(XXEditThemeModel)包括类型属性,当类型属性,类型属性 其值可为:文本、表情、图片、视频、超链接。各种类型转换成统一富文本对象模型过程如下: [0061 ]对于文本对象(style = text),不需要创建新模型,富文本对象模型 (XXEditThemeModel),同时添加类型字典中内容、颜色、字号属性。
[0062]对于表情对象(s t y I e = e m 〇 j i ),取表情编号属性,然后记录在模型 EmotionAttachmentl 里面,EmotionAttachment 继承自 NSTextAttachment 并添加以下属性: 表情编号。由于继承自NSTextAttachment,父类会有一个属性image被继承,可以记录本地 的表情图片。
[0063]对于图片对象(style = image ),取图片地址、高度、以及宽度属性,然后记录在模 型 XXImageAttachment 里面,XXImageAttachment继承自 NSText Attachment并添加以下属 性:图片地址、高度、以及宽度。
[0064] 对于视频对象(StyIe = Vide0),取视频图片地址、视频流地址、视频来源、以及安 全类型属性,然后记录在模型XXVideoAttachment里面,XXVideoAttachmentl继承自 NSTextAttachment并添加以下属性:视频图片地址、视频流地址、视频来源、以及安全类型。 [0065] 对于超链接对象(style = link),取网页名称、链接、以及安全类型属性,然后记录 在模型 XXUr IAttachment里面,XXUr IAttachment 继承自 NSText Attachment并添加以下属 性:网页名称、链接、以及安全类型。
[0066] (3)呈现:在编辑框中,依次显示步骤(2)解析出的所有富文本对象。
[0067] 技术上,富文本对象其实就是文本内容,比字符串更为详细记录文本信息,拼接起 来可以通过这两句关键代码,给文本框赋值,展示出来:
[0068] NSAttributedString^attachStr =
[0069] [NSAttributedStringattributedStringWithAttachment:富文本对象];
[0070] TextView.attributedText = attachStr ;
[0071 ]通过对这些Attachment进行集成,并扩展新属性,就可以实现文本内显示"图片" 这种简单的图文混排逻辑。
[0072] (4)编辑:在编辑框中插入或删除富文本对象。当插入富文本对象时:将插入内容 利用所述富文本对象模型进行解析,显示在所述编辑框中;当删除富文本对象时,取消被删 除富文本对象的显示。
[0073]可采用iOS原生的删除逻辑,即直接取消显示。本实施例采用以下删除逻辑:对于 要删除的对象进行选中,可同时选定多个要删除的对象,再执行删除逻辑,取消所有被选中 对象的显示。
[0074] 插入逻辑,须创建对应的富文本对象,计算光标位置,在光标位置按照步骤(3)的 方法,在编辑框中显示所述对象。
[0075] (5)返解析:创建更新后的数据数组,获取步骤(4)处理后的编辑框中所有的富文 本对象,对于其中每一个富文本对象,根据其类型按照预先创建的类型字典记载,提取其相 应属性,加入到更新后的数据数组中。
[0076] 实施例2
[0077] 本发明提供的富文本编辑系统,如图2所示,包括:
[0078] 初始化模块:用于获取存储有富文本编辑对象的原始数据数组;所述富文本编辑 对象,包括文本富文本对象、表情富文本对象、图片富文本对象、视频富文本对象、以及超链 接富文本对象。
[0079] 解析模块:用于对所述原始数据数组中的每一个数据,利用预先定义的富文本对 象模型转换为统一的富文本对象,提交给呈现模块。
[0080]对于原始数据中的每一个数据,确定其类型。所述富文本对象模型 (XXEditThemeModel)其包含一个属性用于标记所述富文本对象的具体类型(styIe)。根据 富文本对象类型以及预先创建的类型字典,在相应类型的模型中记录类型相应属性值,从 而在相应类型的模型中记录该数据。
[0081]所述类型字典用于记录各富文本对象的类型对应的对象属性,其中各富文本对象 的类型对应的对象属性可集成系统提供的富文本对象模型的属性,同时根据需要时添加其 他属性。所述类型字典具体如实施例1所示。
[0082]其中,文本类型模型,即富文本对象模型中拼接内容、颜色、字号属性;表情类型模 型,即富文本对象模型中拼接模型EmotionAttachmentl,所述模型EmotionAttachmentl继 承自NSTextAttachment并添加以下属性:表情编号;所述图片类型模型,即富文本对象模型 中拼接模型 XXImageAt tachment,XXImageAttachment 继承自 NSTextAttachment 并添加以下 属性:图片地址、高度、以及宽度;视频类型模型,即富文本对象模型中拼接模型 XXVideoAttachment,XXVideoAttachmentl 继承自 NSTextAttachment 并添加以下属性:视频 图片地址、视频流地址、视频来源、以及安全类型;所述超链接类型模型,即富文本对象模型 中拼接模型 XXUr IAttachmen t,XXUr IAttachment 继承自 NSText Attachment并添加以下属 性:网页名称、链接、以及安全类型。
[0083]呈现模块:用于在编辑框中显示解析模块解析出的所有富文本对象。
[0084] 编辑模块:包括插入子模块和删除子模块;所述插入子模块,用于将插入对象加入 到所述数据数组中,并通过解析模块解析,呈现模块显示在所述编辑框中;所述删除子模 块,用于取消被删除对象在呈现模块中的显示状态。
[0085] 返解析模块:用于创建更新后的数据数组,获取编辑框中所有的富文本对象,对于 其中每一个富文本对象,根据其类型按照预先创建的类型字典记载,提取其相应属性,加入 到更新后的数据数组中。
[0086]本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以 限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含 在本发明的保护范围之内。
【主权项】
1. 一种富文本编辑方法,其特征在于,包括以下步骤: (1) 初始化:获取存储有富文本编辑对象的原始数据数组; (2) 解析:对于步骤(1)获取的原始数据数组中的每一个数据,利用预先定义的富文本 对象模型转换为统一的富文本对象;所述富文本对象包括类型属性,用于标记所述数据的 类型; (3) 呈现:在编辑框中,依次显示步骤(2)解析出的所有富文本对象; (4) 编辑:在编辑框中插入或删除富文本对象; (5) 返解析:创建更新后的数据数组,获取步骤(4)处理后的编辑框中所有的富文本对 象,对于其中每一个富文本对象,根据其类型按照预先创建的类型字典记载,提取其相应属 性,加入到更新后的数据数组中。2. 如权利要求1所述的富文本编辑方法,其特征在于,步骤(1)所述富文本编辑对象包 括:文本富文本对象、表情富文本对象、图片富文本对象、视频富文本对象、以及超链接富文 本对象。3. 如权利要求1所述的富文本编辑方法,其特征在于,步骤(2)所述对于步骤(1)获取的 原始数据数组中的每一个数据,利用预先定义的富文本对象模型转换为统一的富文本对 象,具体为: 对于步骤(1)获取的原始数据数组中的每一个数据,确定其类型并将类型值记录在所 述富文本对象模型的类型属性中,根据富文本对象类型属性的值以及预先创建的类型字 典,在相应类型的模型中记录该数据。4. 如权利要求3所述的富文本编辑方法,其特征在于,步骤(2)所述类型字典用于记录 各富文本对象的类型对应的对象属性。5. 如权利要求4所述的富文本编辑方法,其特征在于,步骤(2)所述各富文本对象的类 型对应的对象属性可集成系统提供的富文本对象模型的属性。6. -种富文本编辑系统,其特征在于,包括: 初始化模块:用于获取存储有富文本编辑对象的原始数据数组; 解析模块:用于对所述原始数据数组中的每一个数据,利用预先定义的富文本对象模 型转换为统一的富文本对象,提交给呈现模块;所述富文本对象包括类型属性,用于标记所 述数据的类型; 呈现模块:用于在编辑框中显示解析模块解析出的所有富文本对象; 编辑模块:包括插入子模块和删除子模块;所述插入子模块,用于将插入对象加入到所 述数据数组中,并通过解析模块解析,呈现模块显示在所述编辑框中;所述删除子模块,用 于取消被删除对象在呈现模块中的显示状态; 返解析模块:用于创建更新后的数据数组,获取编辑框中所有的富文本对象,对于其中 每一个富文本对象,根据其类型按照预先创建的类型字典记载,提取其相应属性,加入到更 新后的数据数组中。7. 如权利要求6所述的富文本编辑系统,其特征在于,所述富文本编辑对象,包括文本 富文本对象、表情富文本对象、图片富文本对象、视频富文本对象、以及超链接富文本对象。8. 如权利要求6所述的富文本编辑系统,其特征在于,所述解析模块对所述原始数据数 组中的每一个数据利用预先定义的富文本对象模型转换为统一的富文本对象,具体为: 对于原始数据中的每一个数据,确定其类型并记录在所述富文本对象模型的类型属性 中,根据富文本对象类型属性的值以及预先创建的类型字典,在相应类型的模型中记录该 数据。9. 如权利要求8所述的富文本编辑系统,其特征在于,所述类型字典用于记录各富文本 对象的类型对应的对象属性。10. 如权利要求9所述的富文本编辑系统,其特征在于,所述各富文本对象的类型对应 的对象属性可集成系统提供的富文本对象模型的属性。
【文档编号】G06F17/24GK105843787SQ201610172321
【公开日】2016年8月10日
【申请日】2016年3月24日
【发明人】李佳祥
【申请人】武汉斗鱼网络科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1