CN103034622A - 富文本内容的处理方法和服务器 - Google Patents

富文本内容的处理方法和服务器 Download PDF

Info

Publication number
CN103034622A
CN103034622A CN2012105184214A CN201210518421A CN103034622A CN 103034622 A CN103034622 A CN 103034622A CN 2012105184214 A CN2012105184214 A CN 2012105184214A CN 201210518421 A CN201210518421 A CN 201210518421A CN 103034622 A CN103034622 A CN 103034622A
Authority
CN
China
Prior art keywords
data
label
rich text
text content
attribute
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.)
Granted
Application number
CN2012105184214A
Other languages
English (en)
Other versions
CN103034622B (zh
Inventor
李成银
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Qihoo Technology Co Ltd
Original Assignee
Beijing Qihoo Technology Co Ltd
Qizhi Software Beijing Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Qihoo Technology Co Ltd, Qizhi Software Beijing Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201210518421.4A priority Critical patent/CN103034622B/zh
Publication of CN103034622A publication Critical patent/CN103034622A/zh
Application granted granted Critical
Publication of CN103034622B publication Critical patent/CN103034622B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明公开了一种富文本内容的处理方法和服务器。其中方法包括:获取对富文本内容进行转化而得到的结构化数据;将结构化数据转换为对象化数据;使用预先配置的规则对对象化数据进行处理,以便删除与预先配置的规则定义要保留的标签和属性相对应的数据对象之外的数据对象;将处理后的数据对象进行转义处理,以获得经处理的富文本内容。本发明将富文本内容通过两步转换成为数据对象再进行过滤处理,与现有技术直接对富文本内容本身进行过滤相比,大大简化了对富文本内容过滤的处理逻辑,使得处理性能大大提高。

Description

富文本内容的处理方法和服务器
技术领域
本发明涉及计算机网络安全技术领域,具体涉及一种富文本内容的处理方法和服务器。
背景技术
在WEB2.0时代,网络产品提供文本发布入口让用户来产生内容。为了满足用户创造内容更加丰富化的需求,文本发布入口通常支持富文本格式的内容,即包含HTML标签的内容。用户通过文本发布入口将富文本内容发布到服务端,服务端需要对富文本内容进行安全检查和过滤,然后进行存储和展现。
现有的富文本的传输与过滤方法具体为:用户在浏览器端创造富文本,然后浏览器直接将富文本发送到服务端;服务端对富文本进行词法分析和语法分析,对可能产生安全问题的内容进行过滤,最终得到相对安全的内容。
但是,由于富文本的内容非常复杂,而且各个浏览器对富文本支持的一些语法上有差异,导致服务端过滤的时候需要知道所有浏览器一些细微的特性,工作量非常巨大。并且有些特征是由于浏览器的BUG导致的。这种情况下,虽然服务端做了大量的安全过滤工作,但往往还是会出现安全漏洞,危及产品安全。总而言之,服务端对富文本的过滤逻辑非常复杂,而且也不能保证100%安全;服务端的过滤十分耗时,会对性能产生一定影响,从而影响用户的发布效率。
明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的富文本内容的处理方法和服务器。
根据本发明的一个方面,提供了一种富文本内容的处理方法。富文本内容包括一个或者多个标签,一个或者多个标签嵌套,并且每个标签具有相关联的一个或者多个属性。根据本发明的富文本内容处理方法还包括:获取对富文本内容进行转化而得到的结构化数据,结构化数据对富文本内容中的各个标签和属性进行结构化描述;将结构化数据转换为对象化数据,对象化数据包括与各个标签和属性相对应的一个或者多个数据对象;使用预先配置的规则对对象化数据进行处理,以便删除与预先配置的规则定义要保留的标签和属性相对应的数据对象之外的数据对象;以及将处理后的数据对象进行转义处理,以获得经处理的富文本内容。
根据本发明的另一方面,提供了一种服务器,包括:网络接口,适于获取对富文本内容进行转化而得到的结构化数据,富文本内容包括一个或者多个标签,一个或者多个标签嵌套,并且每个标签具有相关联的一个或者多个属性,而结构化数据对富文本内容中的各个标签和属性进行结构化描述;数据转换器,适于将网络接口获得的结构化数据转换为对象化数据,对象化数据包括与各个标签和属性相对应的一个或者多个数据对象;过滤器,适于使用预先配置的规则对由数据转换器转换得到的对象化数据进行处理,以便删除与预先配置的规则定义要保留的标签和属性相对应的数据对象之外的数据对象;转义器,适于将过滤器处理后的数据对象进行转义处理,以获得经处理的富文本内容。
根据本发明提供的方案,通过获取对富文本内容进行转化而得到的结构化数据,将结构化数据转换为对象化数据,使用预先配置的规则对对象化数据进行处理,以便删除与预先配置的规则定义要保留的标签和属性相对应的数据对象之外的数据对象,也即过滤掉预先配置的规则定义的要保留的信息以外的信息,再进行转义处理以获得经处理的富文本内容。本发明将富文本内容通过两步转换成为数据对象再进行过滤处理,与现有技术直接对富文本内容本身进行过滤相比,大大简化了对富文本内容过滤的处理逻辑,使得处理性能大大提高。另外,这样转化后的富文本内容即保留了原富文本内容的绝大部分格式,又更加规范,从而减少了由于富文本内容而导致页面呈现出现问题的缺陷。
另外,根据本发明提供的方案,通过将对富文本内容的处理过程分解为在客户端上进行的一部分处理和在服务器上进行的另一部分处理。在客户端上首先把富文本内容转化为结构化数据,然后在服务器上对结构化数据进行再次处理并转化为富文本内容,由于结构化数据更容易处理,所以这种方案,可以把有可能由于客户端差异而导致的富文本内容的格式缺陷留在客户端处来进行处理,而服务器仅仅处理基本没有格式缺陷的数据,从而可以大大简化服务器处的处理过程。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了一段文本的示意图;
图2示出了根据本发明一个实施例的富文本内容的处理方法的流程图;
图3示出了根据本发明一个实施例的富文本内容的处理系统的结构框图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本文中所提到的富文本内容是一种包含标签(如HTML标签)的文本内容。更为具体地说,富文本内容包括一个或者多个标签,其中一个或者多个标签可以嵌套,即一个标签中可以包含一个或多个其它的标签。每个标签可以具有相关联的一个或者多个属性。图1示出了一段文本的示意图,这段文本对应的富文本内容如下:
<h1>一种富文本传输与过滤装置</h1>
<p>
<img src="http://ww2.sinaimg.cn/bmiddle/68361562gw1dy4vayca80j.jpg″width="440"height="315"/>
</p>
<p>
<span style="color:#548dd4;">两个男孩同时喜欢上了一个女孩,吸引住男孩的究竟是女孩身上的什么特质呢?想清楚了这个问题的男孩成了哲学家,没想清楚这个问题的成了这个女人的丈夫。</span>
</p>
<p>
<strong>by welefen</strong>(<a href="http://www.welefen.com"target="_self″>http://www.welefen.com</a>)
</p>
在上述富文本内容中,“<h1>一种富文本传输与过滤装置</h1>”为一个HTML标签。
“<p>
<img src="http://ww2.sinaimg.cn/bmiddle/68361562gw1dy4vayca80j.jpg"width="440"height="315"/>
</p>”为一个HTML标签,这个HTML标签中还嵌套了另一个HTML标签:“<img src="http://ww2.sinaimg.cn/bmiddle/68361562gw1dy4vayca80j.jpg″width="440"height="315"/>”。另外,在HTML标签“<img src="http://ww2.sinaimg.cn/bmiddle/68361562gw1dy4vayca80j.jpg″width="440"height="315"/>”中,“src="http://ww2.sinaimg.cn/bmiddle/68361562gw1dy4vayca80j.jpg″width="440"height="315″”为该HTML标签的3个属性,分别表示图片的url,宽度和高度。
本发明以图1所示的文本对应的富文本内容作为例子,进一步介绍本发明的技术方案。图2示出了根据本发明一个实施例的富文本内容的处理方法200的流程图。如图2所示,方法200始于步骤S201,其中服务器获取对富文本内容进行转化而得到的结构化数据。也就是说,在服务器对富文本内容进行处理之前,需要首先将富文本内容转化为结构化数据。可选择地,可以事先在客户端处进行该转化。因此,在本方法中,在客户端获取到用户在客户端创造的富文本内容之后,客户端对富文本内容进行转化得到结构化数据,该结构化数据是对富文本内容中的各个标签和属性进行的结构化描述。可选地,结构化数据包括:各个标签的标签名、标签内容和与该标签相关联的一个或者多个属性,以及各个标签之间的嵌套关系。
具体地,根据本发明的一个实施例,驻留在客户端的javascript代码将富文本内容转化为结构化数据。举例而言,对上述富文本内容进行转化得到的结构化数据为:
[{"tag":"h1","child":[{"text":"\n一种富文本传输与过滤装置\n"}]},{″text":"\n"},{″tag":"p","child":[{"text":"\n"},{″tag":"img","attr":{″src":"http://ww2.sinaimg.cn/bmiddle/68361562gw1dy4vayca80j.jpg","width":"440","height":"315"}},{″text":"\n"}]},{″text":"\n"},{″tag":"p","child":[{"text":"\n"},{″tag":"span","attr":{″style":"color:#548dd4;"},"child":[{″text":"两个男孩同时喜欢上了一个女孩,吸引住男孩的究竟是女孩身上的什么特质呢?想清楚了这个问题的男孩成了哲学家,没想清楚这个问题的成了这个女人的丈夫。"}]},{"text":"\n"}]},{"text":"\n"},{″tag":"p","child":[{"text":"\n"},{″tag":"strong","child":[{"text":"by welefen"}]},{″text":"("),{"tag":"a","attr":{″href″:"http://www.welefen.com","target":"self"},"child":[{"text":"http://www.welefen.com"}]},{″text":"}\n"}]}]
这是一种JSON格式的结构化数据,本发明并不受限于此,并且所有可以对数据进行结构化描述的格式都在本发明的保护范围之内。
如上所述,结构化数据{″tag":"h1″,"child":[{″text":"\n一种富文本传输与过滤装置\n"}]}是由标签“<h1>一种富文本传输与过滤装置</h1>”转化得到的,该结构化数据包括标签的标签名“h1”,标签内容“一种富文本传输与过滤装置”。其中,结构化数据{″tag":"p","child":[{"text":"\n},{″tag":"img","attr":{″src":"http://ww2.sinaimg.cn/bmiddle/68361562gw1dy4vayca80j.jpg","width":"440","height":"315"}},{″text":"\n"}]}是由标签“<p><img src="http://ww2.sinaimg.cn/bmiddle/68361562gw1dy4vayca80j.jpg"width="440"height="315"/>
</p>”转化得到的,该结构化数据包括标签的标签名“p”和“img”和对应的标签内容,以及与标签相关联的属性“"attr":{″src":"http://ww2.sinaimg.cn/bmiddle/68361562gw1dy4vayca80j.jpg","width":"440","height":"315"}”,其中“{″text":"\n}”表示标签内容中的换行。另外,标签名为“p”的标签与标签名为“img”的标签的嵌套关系也体现在结构化数据中,具体为标签名为“img”的标签是标签名为“p”的标签的标签内容。
在客户端得到上述结构化数据之后,将其传递给服务器,服务器由此获取对富文本内容进行转化而得到的结构化数据。
随后,方法200进入步骤S202,其中服务器将结构化数据转换为对象化数据。具体地,服务器可以利用各种编程语言原生提供的功能将结构化数据转换为对象化数据。转换得到的对象化数据包括与各个标签和属性相对应的一个或者多个数据对象。可选地,步骤S202将字符串形式的结构化数据转为具有相互关联关系的一个或者多个数据对象。以结构化数据具有JSON格式为例,JSON格式是指将javascript对象中的一组数据转换得到的字符串格式,对于这种格式的结构化数据,可以使用PHP语言中的json_decode方法实现对结构化数据的转换。json_decode方法是将JSON格式的字符串进行解码,从而转换为PHP的关联数组,即具有相互关联关系的数据对象。
应当注意的是,本发明不受限于具体编程语言,所以可以把JSON格式的字符串转换为具有相互关联关系的数据对象都在本发明的保护范围之内。
随后,方法200进入步骤S203,其中服务器使用预先配置的规则对对象化数据进行处理,以便删除与预先配置的规则定义要保留的标签和属性相对应的数据对象之外的数据对象。预先配置的规则可以为白名单规则,该白名单规则定义了允许保留的标签和属性。
例如,下文中示出了一个与白名单规则相对应的配置文件:
Figure BDA00002530980500071
在该预先配置的规则中:只允许保留标签名为“a”、“span”、“img”、“p”、“br”、“div”、“strong”、“b”、“ul”、“li”、“ol”、“embed”、“object”、“param”、“u”和“em”等标签,并且这些标签中只能包含特定的属性,根据下面所述的规则,每个属性都可以包括“id”、“class”、“name”、“style”和“value”属性,而标签“a”还可以具有“href”和“title”等属性。
使用上述预先配置的规则对对象化数据进行处理,能够删除标签名为“a”、“span”、“img”、“p”、“br”、“div”、“strong”、“b”、“ul”、“li”、“ol”、“embed”、“object”、“param”、“u”和“em”的标签以及各个标签只能包含的特定的属性相对应的数据对象之外的数据对象。
随后,方法200进入步骤S204,服务器将处理后的数据对象进行转义处理,以获得经处理的富文本内容。在上述例子中,经过步骤S201至步骤S204的处理,可获得如下富文本内容:
<p>
<img src="http://ww2.sinaimg.cn/bmiddle/68361562gw1dy4vayca80j.jpg″width="440"height="315"/>
</p><p>
<span style="color:#548dd4">两个男孩同时喜欢上了一个女孩,吸引住男孩的究竟是女孩身上的什么特质呢?想清楚了这个问题的男孩成了哲学家,没想清楚这个问题的成了这个女人的丈夫。</span>
</p><p>
<strong>by welefen</strong>(<a href="http://www.welefen.com">http://www.welefen.com</a>)
</p>
通过对比发现,经过处理后的富文本内容过滤掉了标签名为“h1”的标签以及属性“target="_self″”。
根据本实施例提供的富文本内容的处理方法,通过获取对富文本内容进行转化而得到的结构化数据,将结构化数据转换为对象化数据,使用预先配置的规则对对象化数据进行处理,以便删除与预先配置的规则定义要保留的标签和属性相对应的数据对象之外的数据对象,也即过滤掉预先配置的规则定义的要保留的信息以外的信息,再进行转义处理以获得经处理的富文本内容。本方法将富文本内容通过两步转换成为数据对象再进行过滤处理,这样,在对富文本内容进行过滤时,可以不用考虑由于各个客户端的类型不同而导致的富文本格式不兼容问题,从而大大简化了处理逻辑,使得处理性能大大提高。而且,预先配置的规则本质上是白名单的规则,可以做到100%安全。通过在客户端处将富文本内容转化为结构化数据,然后传送到服务器,服务器通过简单处理就可以做到安全过滤,进一步提高了服务器的处理性能,提升了用户的发布效率。另外,这样转化后的富文本内容即保留了原富文本内容的绝大部分格式,又更加规范,从而减少了由于富文本内容而导致页面呈现出现问题的缺陷。
图3示出了根据本发明一个实施例的富文本内容的处理系统的结构框图。如图3所示,该系统包括服务器300和多个客户端,图中示出了3个客户端410、420和430,但本发明客户端的个数不仅限于此。客户端410、420和430适于对富文本内容进行转化,而获取结构化数据,将结构化数据发送给服务器300,该结构化数据对富文本内容中的各个标签和属性进行结构化描述。可选地,客户端410中包含适于对富文本内容进行转化的内容转化器411,客户端420和430中也可包含内容转化器,但图中未示出。服务器300接收多个客户端传送的结构化数据,并分别对它们进行处理。
如图3所示,服务器300包括:网络接口310、数据转换器320、过滤器330和转义器340。
网络接口310适于获取对富文本内容进行转化而得到的结构化数据。其中,富文本内容包括一个或者多个标签,一个或者多个标签可以嵌套,并且每个标签可以具有相关联的一个或者多个属性,在上述例子中提供了图1所示的文本的富文本内容。该网络接口310是服务器300面向客户端的网络接口,在客户端获取到用户在客户端创造的富文本内容之后,客户端对富文本内容进行转化得到结构化数据,服务器300通过网络接口310接收客户端传送过来的结构化数据。该结构化数据是对富文本内容中的各个标签和属性进行的结构化描述。可选地,结构化数据包括:各个标签的标签名、标签内容和与该标签相关联的一个或者多个属性,以及各个标签之间的嵌套关系。客户端可以采用上述驻留在客户端的javascript代码将富文本内容转化为结构化数据。
数据转换器320适于将网络接口310获得的结构化数据转换为对象化数据,数据转换器320可以利用各种编程语言原生提供的功能将结构化数据转换为对象化数据。转换得到的对象化数据包括与各个标签和属性相对应的一个或者多个数据对象。可选地,数据转换器320进一步适于将网络接口310获得的字符串形式的结构化数据转为具有相互关联关系的一个或者多个数据对象。以结构化数据具有JSON格式为例,JSON格式是指将javascript对象中的一组数据转换得到的字符串格式,对于这种格式的结构化数据,可以使用PHP语言中的json_decode方法实现对结构化数据的转换。json_decode方法是将JSON格式的字符串进行解码,从而转换为PHP的关联数组,即具有相互关联关系的数据对象。
应当注意的是,本发明不受限于具体编程语言,所以可以把JSON格式的字符串转换为具有相互关联关系的数据对象都在本发明的保护范围之内。
过滤器330适于使用预先配置的规则对由数据转换器320转换得到的对象化数据进行处理,以便删除与预先配置的规则定义要保留的标签和属性相对应的数据对象之外的数据对象。预先配置的规则可以为白名单规则,该白名单规则定义了允许保留的标签和属性。例如,预先配置的规则为:只允许保留标签名为“a”、“span”、“img”、“p”、“br”、“div”、“strong”、“b”、“ul”、“li”、“ol”、“embed”、“object”、“param”、“u”和“em”等标签,并且这些标签中只能包含特定的属性,根据下面所述的规则,每个属性都可以包括“id”、“class”、“name”、“style”和“value”属性,而标签“a”还可以具有“href”和“title”等属性。根据该预先配置的规则形成的对应的配置文件可参见方法实施例的描述。使用上述预先配置的规则对对象化数据进行处理,能够删除标签名为“a”、“span”、“img”、“p”、“br”、“div”、“strong”、“b”、“ul”、“li”、“ol”、“embed”、“object”、“param”、“u”和“em”的标签以及各个标签只能包含的特定的属性相对应的数据对象之外的数据对象。
转义器340适于将过滤器330处理后的数据对象进行转义处理,以获得经处理的富文本内容。
根据本发明提供的服务器和富文本内容的处理方法,通过获取对富文本内容进行转化而得到的结构化数据,将结构化数据转换为对象化数据,使用预先配置的规则对对象化数据进行处理,以便删除与预先配置的规则定义要保留的标签和属性相对应的数据对象之外的数据对象,也即过滤掉预先配置的规则定义的要保留的信息以外的信息,再进行转义处理以获得经处理的富文本内容。本发明将富文本内容通过两步转换成为数据对象再进行过滤处理,与现有技术直接对富文本内容本身进行过滤相比,大大简化了对富文本内容过滤的处理逻辑,将之前几万行的代码简化为几百行的代码,使得处理性能大大提高。而且,预先配置的规则本质上是白名单的规则,可以做到100%安全。通过在客户端处将富文本内容转化为结构化数据,然后传送到服务器,服务器通过简单处理就可以做到安全过滤,进一步提高了服务器的处理性能,提升了用户的发布效率。
另外,根据本发明提供的富文本内容的处理系统,通过将对富文本内容的处理过程分解为在客户端上进行的一部分处理和在服务器上进行的另一部分处理。在客户端上首先把富文本内容转化为结构化数据,然后在服务器上对结构化数据进行再次处理并转化为富文本内容,由于结构化数据更容易处理,所以这种方案,可以把有可能由于客户端差异而导致的富文本内容的格式缺陷留在客户端处来进行处理,而服务器仅仅处理基本没有格式缺陷的数据,从而可以大大简化服务器处的处理过程。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的服务器中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

Claims (8)

1.一种富文本内容的处理方法,所述富文本内容包括一个或者多个标签,所述一个或者多个标签嵌套,并且每个标签具有相关联的一个或者多个属性,该方法包括:
获取对富文本内容进行转化而得到的结构化数据,所述结构化数据对所述富文本内容中的各个标签和属性进行结构化描述;
将所述结构化数据转换为对象化数据,所述对象化数据包括与各个标签和属性相对应的一个或者多个数据对象;
使用预先配置的规则对所述对象化数据进行处理,以便删除与所述预先配置的规则定义要保留的标签和属性相对应的数据对象之外的数据对象;
将处理后的数据对象进行转义处理,以获得经处理的富文本内容。
2.根据权利要求1所述的方法,所述结构化数据包括:各个标签的标签名、标签内容和与该标签相关联的一个或者多个属性,以及各个标签之间的嵌套关系。
3.根据权利要求1或2所述的方法,所述将结构化数据转为对象化数据对象包括:将字符串形式的结构化数据转为具有相互关联关系的一个或者多个数据对象。
4.根据权利要求3所述的方法,所述结构化数据具有JSON格式。
5.一种服务器,包括:
网络接口,适于获取对富文本内容进行转化而得到的结构化数据,所述富文本内容包括一个或者多个标签,所述一个或者多个标签嵌套,并且每个标签具有相关联的一个或者多个属性,所述结构化数据对所述富文本内容中的各个标签和属性进行结构化描述;
数据转换器,适于将所述网络接口获得的所述结构化数据转换为对象化数据,所述对象化数据包括与各个标签和属性相对应的一个或者多个数据对象;
过滤器,适于使用预先配置的规则对由所述数据转换器转换得到的所述对象化数据进行处理,以便删除与所述预先配置的规则定义要保留的标签和属性相对应的数据对象之外的数据对象;
转义器,适于将所述过滤器处理后的数据对象进行转义处理,以获得经处理的富文本内容。
6.根据权利要求5所述的服务器,所述网络接口得到的结构化数据包括:各个标签的标签名、标签内容和与该标签相关联的一个或者多个属性,以及各个标签之间的嵌套关系。
7.根据权利要求5或6所述的服务器,所述数据转换器进一步适于将所述网络接口获得的字符串形式的结构化数据转为具有相互关联关系的一个或者多个数据对象。
8.根据权利要求7所述的服务器,所述结构化数据具有JSON格式。
CN201210518421.4A 2012-12-05 2012-12-05 富文本内容的处理方法和服务器 Active CN103034622B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210518421.4A CN103034622B (zh) 2012-12-05 2012-12-05 富文本内容的处理方法和服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210518421.4A CN103034622B (zh) 2012-12-05 2012-12-05 富文本内容的处理方法和服务器

Publications (2)

Publication Number Publication Date
CN103034622A true CN103034622A (zh) 2013-04-10
CN103034622B CN103034622B (zh) 2016-06-29

Family

ID=48021526

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210518421.4A Active CN103034622B (zh) 2012-12-05 2012-12-05 富文本内容的处理方法和服务器

Country Status (1)

Country Link
CN (1) CN103034622B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103607427A (zh) * 2013-10-30 2014-02-26 小米科技有限责任公司 信息展示方法和装置
CN106796526A (zh) * 2014-10-31 2017-05-31 甲骨文国际公司 Json样式表语言变换
CN109657184A (zh) * 2018-12-19 2019-04-19 北京创鑫旅程网络技术有限公司 富文本处理方法、装置、服务器及计算机可读介质
CN110162510A (zh) * 2019-04-26 2019-08-23 平安普惠企业管理有限公司 文本对比方法、装置、计算机设备及存储介质
CN111274760A (zh) * 2020-01-09 2020-06-12 北京字节跳动网络技术有限公司 富文本数据处理方法、装置、电子设备及计算机存储介质
CN111274772A (zh) * 2018-12-03 2020-06-12 阿里巴巴集团控股有限公司 删除空行的方法、装置、终端设备及计算机存储介质
CN111444683A (zh) * 2018-12-28 2020-07-24 北京奇虎科技有限公司 富文本处理方法、装置、计算设备及计算机存储介质
CN112001153A (zh) * 2020-08-12 2020-11-27 腾讯科技(深圳)有限公司 文本处理方法、装置、计算机设备和存储介质
CN112001153B (zh) * 2020-08-12 2024-05-17 腾讯科技(深圳)有限公司 文本处理方法、装置、计算机设备和存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090006454A1 (en) * 2007-06-29 2009-01-01 Microsoft Corporation WYSIWYG, browser-based XML editor
CN101882075A (zh) * 2010-03-24 2010-11-10 深圳市万兴软件有限公司 一种编辑富文本并通过flash还原显示的方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090006454A1 (en) * 2007-06-29 2009-01-01 Microsoft Corporation WYSIWYG, browser-based XML editor
CN101882075A (zh) * 2010-03-24 2010-11-10 深圳市万兴软件有限公司 一种编辑富文本并通过flash还原显示的方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
WELEFEN: "html2json", 《HTTPS://GITHUB.COM/WELEFEN/HTML2JSON/COMMIT/1C6BEF0BE98895C9889F866DB169EF6FF1DCE67E》 *
WELEFEN: "html2json", 《HTTPS://GITHUB.COM/WELEFEN/HTML2JSON/COMMIT/9BEDE3297D91C098976A107F1AD20ABE1624B49B》 *
WELEFEN: "html2json:一种新的富文本数据传输方案", 《HTTP://WWW.WELEFEN.COM/HTML2JSON-FOR-RICH-CONTENT-TRANSFER.HTML》 *

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103607427A (zh) * 2013-10-30 2014-02-26 小米科技有限责任公司 信息展示方法和装置
WO2015062243A1 (zh) * 2013-10-30 2015-05-07 小米科技有限责任公司 信息展示方法和装置
CN103607427B (zh) * 2013-10-30 2017-04-12 小米科技有限责任公司 信息展示方法和装置
CN106796526A (zh) * 2014-10-31 2017-05-31 甲骨文国际公司 Json样式表语言变换
CN111274772A (zh) * 2018-12-03 2020-06-12 阿里巴巴集团控股有限公司 删除空行的方法、装置、终端设备及计算机存储介质
CN109657184B (zh) * 2018-12-19 2020-05-05 北京创鑫旅程网络技术有限公司 富文本处理方法、装置、服务器及计算机可读介质
CN109657184A (zh) * 2018-12-19 2019-04-19 北京创鑫旅程网络技术有限公司 富文本处理方法、装置、服务器及计算机可读介质
CN111444683A (zh) * 2018-12-28 2020-07-24 北京奇虎科技有限公司 富文本处理方法、装置、计算设备及计算机存储介质
CN110162510A (zh) * 2019-04-26 2019-08-23 平安普惠企业管理有限公司 文本对比方法、装置、计算机设备及存储介质
CN111274760A (zh) * 2020-01-09 2020-06-12 北京字节跳动网络技术有限公司 富文本数据处理方法、装置、电子设备及计算机存储介质
CN111274760B (zh) * 2020-01-09 2023-07-18 抖音视界有限公司 富文本数据处理方法、装置、电子设备及计算机存储介质
CN112001153A (zh) * 2020-08-12 2020-11-27 腾讯科技(深圳)有限公司 文本处理方法、装置、计算机设备和存储介质
CN112001153B (zh) * 2020-08-12 2024-05-17 腾讯科技(深圳)有限公司 文本处理方法、装置、计算机设备和存储介质

Also Published As

Publication number Publication date
CN103034622B (zh) 2016-06-29

Similar Documents

Publication Publication Date Title
CN103034700A (zh) 富文本内容的处理方法及系统
CN103034622A (zh) 富文本内容的处理方法和服务器
CN108984714B (zh) 页面渲染方法、装置、电子设备及计算机可读介质
US8683311B2 (en) Generating structured data objects from unstructured web pages
CN107808010A (zh) 一种弹窗页面生成方法、装置、浏览器及存储介质
CN102999578A (zh) 页面元素处理方法和装置
CN102981844A (zh) 对网页主体元素进行处理的浏览器及方法
CN103793462A (zh) 网址净化方法及装置
US20210064453A1 (en) Automated application programming interface (api) specification construction
CN103761079A (zh) 页面自动变灰的方法和装置
CN102999579A (zh) 页面文本框处理浏览器和页面文本框元素处理方法
CN103092941A (zh) 在电子设备上呈现内容的方法和装置
CN102981848A (zh) 网页主体元素处理浏览器和方法
CN103279538A (zh) 预加载访问网站中网页的服务器、浏览器客户端和方法
CN103714116A (zh) 网页信息提取方法及设备
CN103581232A (zh) web页面传输方法、web页面显示装置及包含该装置的系统
CN103530329A (zh) 一种进行网页加载的方法、装置和浏览器
CN109325197B (zh) 用于提取信息的方法和装置
CN102981845A (zh) 浏览器进行页面元素处理的方法及装置
CN112948726A (zh) 一种处理异常信息的方法、装置和系统
CN113076294A (zh) 一种信息分享方法和装置
CN102902784A (zh) 网页分类存储系统及方法
CN102981847A (zh) 对页面文本框进行处理的浏览器及方法
CN100419758C (zh) 一种嵌入式浏览装置及方法
CN103905434A (zh) 一种网络数据处理方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220727

Address after: Room 801, 8th floor, No. 104, floors 1-19, building 2, yard 6, Jiuxianqiao Road, Chaoyang District, Beijing 100015

Patentee after: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Address before: 100088 room 112, block D, 28 new street, new street, Xicheng District, Beijing (Desheng Park)

Patentee before: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Patentee before: Qizhi software (Beijing) Co.,Ltd.