浅谈IM软件业务知识-实现富文本解析,如:解析字符串、 络链接等

—————————————————-欢迎查看IM软件业务知识《专栏》——————————————————————-
使用状态机来保持在线状态 【点击】                      拼图算法,将零碎小图,整理到一张大图上【点击】
登录导航 【点击】                                                   会话session的概念【点击】       
“假在线’ 【点击】                                                    非对称加密,RSA算法【点击】
如何建立安全socket连接、登录 【点击】               浅谈断线重连、心跳和长在线 【点击】
iOS 客户端创建 络连接,常见错误汇总 【点击】 protocolBuf 在iOS上的使用入门、讲解、指南 【点击】
实现富文本解析【点击】                                          UITableview Deceleration 加速滑动(惯性滑动)、弹性回归原理【点击】
——————————————————————————————————————————————————————–

前言

拿表情前3个,微笑

解析到“/赞”的时候,立即获取表情码:1100. 在解析/赞同的时候,遇到“赞”继续往下执行,知道词语末尾,得到表情码1200

第三步、解析

假如,用户输入了“今天天气好/大笑”,解析的步骤是这样的:

从字符串的第一个字符开始查找,查找到/的位置,然后把/后面的字符放到tree中去找,知道找到tree的叶子得到一个index,即1000.那么直接冲map中渠道key=1000的EmotionDataBase,从而得到图片的名字,显示即可

使用多叉树的好处是,遍历一遍字符串可以解析出来,所有的表情。其实,如果我们直接搜索“大笑”,也能达到这个效果,只是遍历很多次。有10个表情,就要遍历10次,效率太低了。

解析链接

解析连接:我们事先要把常用 站的PreFix(开头)和Postfix(结尾)录入代码中。比如添加PreFix的代码:

添加Postfix的代码

从代码中不难看出,http://和https://都对应同一个CV_INDEX_LINK_PREFIX

CV_INDEX_LINK_PREFIX,CV_INDEX_LINK_POSTFIX中的任何一个,都认为是一个链接。

源码

之前项目是symbian开发的,现在移植到iOS平台,源码我放到: http://download.csdn.net/detail/hherima/5161117 

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2013年2月17日
下一篇 2013年2月17日

相关推荐