CN102789481A - 一种手机im客户端的特定类型内容解析方法 - Google Patents
一种手机im客户端的特定类型内容解析方法 Download PDFInfo
- Publication number
- CN102789481A CN102789481A CN2012102178546A CN201210217854A CN102789481A CN 102789481 A CN102789481 A CN 102789481A CN 2012102178546 A CN2012102178546 A CN 2012102178546A CN 201210217854 A CN201210217854 A CN 201210217854A CN 102789481 A CN102789481 A CN 102789481A
- Authority
- CN
- China
- Prior art keywords
- content
- certain types
- message
- control
- tree construction
- 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.)
- Pending
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种手机IM客户端的特定类型内容解析方法。该方法包括:在手机IM客户端中的设置解析控件和绘制控件;解析控件使用树结构保存特定类型内容的标志内容;当接收到消息时,解析控件将消息中的字符串逐一与树结构中的标志内容进行匹配,如果命中树结构中的一个分支,则确定消息中命中的部分为特定类型内容中的一部分,然后查找特定类型内容的边界,获得消息字符串中的特定类型内容;解析控件对消息中的特定类型内容进行标记;绘制控件根据所述标记识别消息中的特定类型内容,并按照预设的方式显示该特定类型内容。本发明的技术方案解决了现有的手机IM客户端将一些如URL等的特定类型内容当做普通文字处理,降低用户体验的问题。
Description
技术领域
本发明涉及网络通信技术领域,特别涉及一种手机IM客户端的特定类型内容解析方法。
背景技术
目前即时通信IM类聊天软件大多涉及到个人计算机PC和手机客户端之间的互相通信,难免会需要发送统一资源定位符(URL,Uniform/UniversalResource Locator),期望IM客户端能够解析并使用。
但是,目前许多的IM客户端产品设计并没有对URL进行解析,PC端发送过来的URL字符串,IM客户端只是当作普通文字处理,并不能够满足用户需求,例如点击打开浏览器、特殊标识显示。如果用户想要提取收到的URL,必须自行编辑到浏览器,这是非常不舒服的体验。
发明内容
本发明提供了一种手机IM客户端的特定类型内容解析方法,以解决现有的手机IM客户端将一些如URL等的特定类型内容当做普通文字处理,降低用户体验的问题。
为达到上述目的本发明的技术方案是这样实现的:
本发明公开了一种手机IM客户端的特定类型内容解析方法,在手机IM客户端中的设置解析控件和绘制控件,则该方法包括:
在IM客户端启动时,解析控件使用树结构保存特定类型内容的标志内容;其中,树结构中每个分支对应特定类型内容的一个标志内容;
当IM客户端接收到消息时,解析控件将消息中的字符串逐一与树结构中的标志内容进行匹配,如果命中树结构中的一个分支,则确定消息中命中的部分为特定类型内容中的一部分,然后查找特定类型内容的边界,获得消息字符串中的特定类型内容;
解析控件对消息中的特定类型内容进行标记;
绘制控件根据所述标记识别消息中的特定类型内容,并按照预设的方式显示该特定类型内容。
所述解析控件使用树结构保存特定类型内容的标志内容包括:
解析控件创建树结构,将特定类型内容的标志内容一一载入树结构,并将树结构存入容器。
所述解析控件将消息中的字符串逐一与树结构中的标志内容进行匹配包括:
解析控件将消息中的字符逐一与各树结构的跟节点进行匹配,如果相同,则将该字符的下一个字符与根节点下的各子节点进行匹配,如果存在匹配的节点则进行下一步的匹配,直到匹配失败或者命中树结构的一个分支上所有节点。
所述解析控件对消息中的特定类型内容进行标记包括:
为消息中的每个字符串赋予一个枚举型的成员变量,该成员变量存在与特定类型内容对应的值;
所述解析控件对消息中的特定类型内容字符串的成员变量赋予特定类型内容所对应的值。
所述特定类型内容为:统一资源定位符URL、邮箱地址或手机号码。
当所述特定类型内容为URL时,
所述特定类型内容的标志内容为URL的初始标记字符串。
所述查找特定类型内容的边界包括:从URL的初始标记字符串开始向后查找URL结束符。
所述按照预设的方式显示该特定类型内容包括:令特定类型内容的显示颜色为某种特定颜色,并且具有某种特定颜色的下划线。
该方法进一步包括:在IM客户端中设置网页调用控件;
网页调用控件检测到鼠标点击消息中的URL的事件时,调用***浏览器,打开以该URL为网址的网页。
本发明这种在手机IM客户端中的设置解析控件和绘制控件,在IM客户端启动时,解析控件使用树结构保存特定类型内容的标志内容,当IM客户端接收到消息时,解析控件将消息中的字符串逐一与树结构中的标志内容进行匹配,如果命中树结构中的一个分支,则确定消息中命中的部分为特定类型内容中的一部分,然后查找特定类型内容的边界,获得消息字符串中的特定类型内容,解析控件对消息中的特定类型内容进行标记,绘制控件根据所述标记识别消息中的特定类型内容,并按照预设的方式显示该特定类型内容的技术方案,能够在IM聊天中,将聊天消息中的特定类型内容进行特殊显示,以与普通文字进行区别,提高了用户体验。
附图说明
图1是本发明中的一种手机IM客户端的特定类型内容解析方法的流程图;
图2是本发明实施例中的URL的初始标记字符串wap.的以小写w开头的树结构示意图;
图3是本发明实施例中的URL的初始标记字符串wap.的以大写W开头的树结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
图1是本发明中的一种手机IM客户端的特定类型内容解析方法的流程图。在手机IM客户端中的设置解析控件和绘制控件,则该方法包括:
101,在IM客户端启动时,解析控件使用树结构保存特定类型内容的标志内容;其中,树结构中每个分支对应特定类型内容的一个标志内容。
在本发明的一个实施例中,解析控件使用树结构保存特定类型内容的标志内容具体为:解析控件创建树结构,将特定类型内容的标志内容一一载入树结构,并将树结构存入容器。
102,当IM客户端接收到消息时,解析控件将消息中的字符串逐一与树结构中的标志内容进行匹配,如果命中树结构中的一个分支,则确定消息中命中的部分为特定类型内容中的一部分,然后查找特定类型内容的边界,获得消息字符串中的特定类型内容。
本步骤中,所述解析控件将消息中的字符串逐一与树结构中的标志内容进行匹配包括:解析控件将消息中的字符逐一与各树结构的跟节点进行匹配,如果相同,则将该字符的下一个字符与根节点下的各子节点进行匹配,如果存在匹配的节点则进行下一步的匹配,直到匹配失败或者命中树结构的一个分支上所有节点。
103,解析控件对消息中的特定类型内容进行标记。
在本发明的一个实施例中,所述解析控件对消息中的特定类型内容进行标记包括:为消息中的每个字符串赋予一个枚举型的成员变量,该成员变量存在与特定类型内容对应的值;所述解析控件对消息中的特定类型内容字符串的成员变量赋予特定类型内容所对应的值。
104,绘制控件根据所述标记识别消息中的特定类型内容,并按照预设的方式显示该特定类型内容。
在上述方法中,所述特定类型内容可以为:统一资源定位符URL、邮箱地址或手机号码。
下面以特定类型内容为URL为例,对本发明的技术方案进行说明。在手机IM客户端需要显示的IM聊天内容中,可能会包含文本、URL字符串、表情字符等等内容,这就需要将每条内容进行解析,并赋予相应的显示形式。目前会解析的URL字符串是以几种方式开头:”http://”、“Https://”、"wap.”、“p://”、“www.”、“3g.”(不区分大小写)。因此在本实施例中,URL的标志内容为URL的初始标记字符串。从URL的初始标记字符串开始向后查找URL结束符,即找到了URL的边界。URL结束符一般为到中文、空格、tab、\r\n,;()等字符,因此从URL的初始标记字符串开始,遇到中文、空格、tab、\r\n,;()等字符都将视为本URL终结。
IM客户端程序开始,将会创建树的结构类型,将URL的初始标记字符串一一载入,并存入容器,以待解析时使用。
图2是本发明实施例中的URL的初始标记字符串wap.的以小写w开头的树结构示意图。图3是本发明实施例中的URL的初始标记字符串wap.的以大写W开头的树结构示意图。如图2和3所示,这里区分了大小写。
在本实施例中容器为C++常用的vector;vector容器是一个模板类,可以存放任何类型的对象(但必须是同一类对象)。vector对象可以在运行时高效地添加元素,并且vector中元素是连续存储的。是一个线性顺序结构。相当于数组,但其大小可以不预先指定,并且自动扩展。它可以像数组一样***作,由于它的特性我们完全可以将vector看作动态数组。在创建一个vector后,它会自动在内存中分配一块连续的内存空间进行数据存储,初始的空间大小可以预先指定也可以由vector默认指定,这个大小即capacity()函数的返回值。这里capacity函数的作用是返回当前vector在重新进行内存分配以前所能容纳的元素数量。
树结构创建好并存入容器后,收到消息时,会将消息字符串逐一与树结构中的URL初始标记字符串比较。比较方式如下:
以wap.为例,在内存中的存储方式如图2和图3所示,每次判断消息中当前字符是否与小写w是否相等,若是相等则继续与第二层的a进行比较,如果符合,则与第三层的p或者P比较,否则与第二层的A比较,依次类推。在比较期间,如果全都不符合,那么比较过的文本视为非URL文本,截取此字符跳过,从后面的字符开始比较。如果通过其中一只分支,则认为此字符串属于URL,向后寻找,直到找到URL终结标记符为止。截取从开始到结束的本段字符串为URL字符串。
在本实施例中设置枚举型的成员变量,该成员变量存在URL类型、表情类型等type;解析出的URL字符串所拥有的属性即为URL类型属性,以此作为标记,识别遍历过的字符串是否与URL解析条件吻合,若是则赋予其成员变量相应值,绘制控件在绘制消息时,将带有URL标记的字符串特殊显示:其显示颜色为某种特定颜色,如蓝色,并且在其下面位置绘制某种特定颜色的下划线,如蓝色下划线,使其可获取焦点,可获取点击事件。
在本实施例中,还在在IM客户端中设置网页调用控件。网页调用控件检测到鼠标点击消息中的URL的事件时,调用***浏览器,打开以该URL为网址的网页。网页浏览完毕,返回,会回到聊天界面,且显示不变。
本实施例的技术支持字符串的URL解析,使其不再是可观不可用的普通文本,赋予字符串更为实际的使用。方便用户之间的沟通,不必继续烦恼无法获取并使用聊天内容,使得聊天内容的显示更具有可读性。
在本发明的其他实施例中,特定类型内容也可以是电子邮箱地址或手机号码等。当为电子邮箱地址时,标志内容可以使邮箱地址后缀,如126.com、163.com等。找到邮箱的标志内容后向前找到其边界即可以获取全部的邮箱地址。当为手机号时,标志内容可以前三位号码,如139、186、152等,国内手机号码一般为11为的数据,因此可据此向后找到手机号码的边界。此处不再一一说明。
综上所述,本发明这种在手机IM客户端中的设置解析控件和绘制控件,在IM客户端启动时,解析控件使用树结构保存特定类型内容的标志内容,当IM客户端接收到消息时,解析控件将消息中的字符串逐一与树结构中的标志内容进行匹配,如果命中树结构中的一个分支,则确定消息中命中的部分为特定类型内容中的一部分,然后查找特定类型内容的边界,获得消息字符串中的特定类型内容,解析控件对消息中的特定类型内容进行标记,绘制控件根据所述标记识别消息中的特定类型内容,并按照预设的方式显示该特定类型内容的技术方案,能够在IM聊天中,将聊天消息中的特定类型内容进行特殊显示,以与普通文字进行区别,提高了用户体验。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。例如,所述设置在手机IM客户端中的解析控件和绘制控件,也可以是包括具有相应功能的单元或功能模块。
Claims (9)
1.一种手机IM客户端的特定类型内容解析方法,其特征在于,在手机IM客户端中的设置解析控件和绘制控件,则该方法包括:
在IM客户端启动时,解析控件使用树结构保存特定类型内容的标志内容;其中,树结构中每个分支对应特定类型内容的一个标志内容;
当IM客户端接收到消息时,解析控件将消息中的字符串逐一与树结构中的标志内容进行匹配,如果命中树结构中的一个分支,则确定消息中命中的部分为特定类型内容中的一部分,然后查找特定类型内容的边界,获得消息字符串中的特定类型内容;
解析控件对消息中的特定类型内容进行标记;
绘制控件根据所述标记识别消息中的特定类型内容,并按照预设的方式显示该特定类型内容。
2.根据权利要求1所述的方法,其特征在于,所述解析控件使用树结构保存特定类型内容的标志内容包括:
解析控件创建树结构,将特定类型内容的标志内容一一载入树结构,并将树结构存入容器。
3.根据权利要求1所述的方法,其特征在于,所述解析控件将消息中的字符串逐一与树结构中的标志内容进行匹配包括:
解析控件将消息中的字符逐一与各树结构的跟节点进行匹配,如果相同,则将该字符的下一个字符与根节点下的各子节点进行匹配,如果存在匹配的节点则进行下一步的匹配,直到匹配失败或者命中树结构的一个分支上所有节点。
4.根据权利要求1所述的方法,其特征在于,所述解析控件对消息中的特定类型内容进行标记包括:
为消息中的每个字符串赋予一个枚举型的成员变量,该成员变量存在与特定类型内容对应的值;
所述解析控件对消息中的特定类型内容字符串的成员变量赋予特定类型内容所对应的值。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述特定类型内容为:统一资源定位符URL、邮箱地址或手机号码。
6.根据权利要求5所述的方法,其特征在于,当所述特定类型内容为URL时,
所述特定类型内容的标志内容为URL的初始标记字符串。
7.根据权利要求6所述的方法,其特征在于,所述查找特定类型内容的边界包括:从URL的初始标记字符串开始向后查找URL结束符。
8.根据权利要求7所述的方法,其特征在于,所述按照预设的方式显示该特定类型内容包括:令特定类型内容的显示颜色为某种特定颜色,并且具有某种特定颜色的下划线。
9.根据权利要求6所述的方法,其特征在于,该方法进一步包括:在IM客户端中设置网页调用控件;
网页调用控件检测到鼠标点击消息中的URL的事件时,调用***浏览器,打开以该URL为网址的网页。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012102178546A CN102789481A (zh) | 2012-06-27 | 2012-06-27 | 一种手机im客户端的特定类型内容解析方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012102178546A CN102789481A (zh) | 2012-06-27 | 2012-06-27 | 一种手机im客户端的特定类型内容解析方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102789481A true CN102789481A (zh) | 2012-11-21 |
Family
ID=47154884
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012102178546A Pending CN102789481A (zh) | 2012-06-27 | 2012-06-27 | 一种手机im客户端的特定类型内容解析方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102789481A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103092941A (zh) * | 2013-01-10 | 2013-05-08 | 北京奇虎科技有限公司 | 在电子设备上呈现内容的方法和装置 |
CN103763312A (zh) * | 2013-12-31 | 2014-04-30 | 广州华多网络科技有限公司 | 功能启动方法、装置及客户端 |
CN104142774A (zh) * | 2013-05-06 | 2014-11-12 | 腾讯科技(深圳)有限公司 | 页面内容的处理方法及装置 |
CN106569971A (zh) * | 2016-11-04 | 2017-04-19 | 深圳市坐标软件开发有限公司 | 信息的传输方法及装置 |
CN112069363A (zh) * | 2020-07-31 | 2020-12-11 | 青岛海尔科技有限公司 | 用于消息处理的方法、装置、服务器及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101154228A (zh) * | 2006-09-27 | 2008-04-02 | 西门子公司 | 一种分段模式匹配方法及其装置 |
CN102262528A (zh) * | 2010-05-26 | 2011-11-30 | 腾讯科技(深圳)有限公司 | 即时通讯客户端及其内嵌网页页面实现拖拽的方法 |
CN102263705A (zh) * | 2010-05-25 | 2011-11-30 | 腾讯科技(深圳)有限公司 | 显示即时通讯消息的方法及装置 |
-
2012
- 2012-06-27 CN CN2012102178546A patent/CN102789481A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101154228A (zh) * | 2006-09-27 | 2008-04-02 | 西门子公司 | 一种分段模式匹配方法及其装置 |
CN102263705A (zh) * | 2010-05-25 | 2011-11-30 | 腾讯科技(深圳)有限公司 | 显示即时通讯消息的方法及装置 |
CN102262528A (zh) * | 2010-05-26 | 2011-11-30 | 腾讯科技(深圳)有限公司 | 即时通讯客户端及其内嵌网页页面实现拖拽的方法 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103092941A (zh) * | 2013-01-10 | 2013-05-08 | 北京奇虎科技有限公司 | 在电子设备上呈现内容的方法和装置 |
WO2014108040A1 (zh) * | 2013-01-10 | 2014-07-17 | 北京奇虎科技有限公司 | 在电子设备上呈现内容的方法和装置 |
CN103092941B (zh) * | 2013-01-10 | 2016-06-29 | 北京奇虎科技有限公司 | 在电子设备上呈现内容的方法和装置 |
CN104142774A (zh) * | 2013-05-06 | 2014-11-12 | 腾讯科技(深圳)有限公司 | 页面内容的处理方法及装置 |
CN104142774B (zh) * | 2013-05-06 | 2019-02-26 | 腾讯科技(深圳)有限公司 | 页面内容的处理方法及装置 |
CN103763312A (zh) * | 2013-12-31 | 2014-04-30 | 广州华多网络科技有限公司 | 功能启动方法、装置及客户端 |
CN106569971A (zh) * | 2016-11-04 | 2017-04-19 | 深圳市坐标软件开发有限公司 | 信息的传输方法及装置 |
CN112069363A (zh) * | 2020-07-31 | 2020-12-11 | 青岛海尔科技有限公司 | 用于消息处理的方法、装置、服务器及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10382368B2 (en) | Methods and systems for creating auto-reply messages | |
US11232409B2 (en) | Presenting entity profile information to a user of a computing device | |
EP3316586B1 (en) | Method and device for extracting keywords from bullet screen information and pushing related information including a web link | |
US10243889B2 (en) | Keyword based automatic reply generation in a messaging application | |
US8214357B2 (en) | System and method for linking ad tagged words | |
AU2010315741A1 (en) | Displaying a collection of interactive elements that trigger actions directed to an item | |
US20050198180A1 (en) | Method and system for providing automatic email address book | |
CN105450586A (zh) | 信息推送方法、***、服务器及客户端 | |
CA2787816A1 (en) | Share box for endorsements | |
CN102789481A (zh) | 一种手机im客户端的特定类型内容解析方法 | |
CN104243273A (zh) | 即时通讯客户端显示信息的方法及设备和信息显示*** | |
CN101346737A (zh) | 移动装置和用于从移动装置发送消息的方法 | |
CN103853767A (zh) | 一种基于浏览器的社交圈分享方法和装置 | |
CN103530039A (zh) | 切换应用的方法和终端 | |
EP2357599A1 (en) | System and method for linking ad tagged words | |
CN102831150B (zh) | 浏览器与本地应用的交互方法、***及终端 | |
CN103019528B (zh) | 一种应用协同方法及移动终端 | |
CN103150172A (zh) | 一种实现个性化场景的方法和设备 | |
CN103164122B (zh) | 一种调用通讯录内容的方法及装置 | |
US10802683B1 (en) | Method, system and computer program product for changing avatars in a communication application display | |
CN113656737A (zh) | 网页内容展示方法、装置、电子设备以及存储介质 | |
CN102594968A (zh) | 一种联系人信息的显示方法及终端 | |
CN103365860A (zh) | 网页处理的方法、装置和终端 | |
CN104954568A (zh) | 一种手机字体的动态控制***及方法 | |
CN103533176A (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 | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20121121 |