<强>开篇强>
看了看更新日期好久没写简书了,经常还有小伙伴在文章下面评论,看到自己写的东西还是有点用的,鼓励自己接着坚持下去吧,哈哈。今天主要就写写iOS中怎么解析HTML标签,我们常用的后台返回数据一般是json格式的但是有些时候如果我们收到的是带HTML标签的我们该怎么处理他呢,今天就来说一说吧。
<强>正文强>
前两天获取后台数据的时候,得到这么一条返回信息
“恭喜您获得& lt;字体颜色=昂焐痹?.1元& lt;/font>现金奖励”
本来简简单单的把返回数据展示到标签上的事情一下子变得有趣起来,后台说是为了以后产品改返回内容的时候容易处理,可以这理由很强势。
<人物> 图>
但是作为开发的我们怎么处理呢,首先我们看下安卓的处理方法,安卓对处理这个还是比较粗暴的人家有系统方法,如下:
<人物> 图>
那么iOS端怎么处理呢,我们可以用webview,也可以用标签的attributedString属性,也可以直接简单粗暴的分割字符串,然后去除HTML标签,然后处理,听听就让人惆怅,然而毕竟是一种方法,能解决问题的方法都是好方法,我们就放一下最粗暴方法的主要代码(其余方法在评论补充有,哈哈),去除HTML标签的方法如下:
//过滤后台返回字符串中的标签 - (NSString *) flattenHTML: html (NSString *) { NSScanner * theScanner; NSString *文本=零; theScanner=[NSScanner scannerWithString: html]; 而([theScanner isAtEnd]==NO) {//找到标签的开始 [theScanner scanUpToString: @”& lt;“intoString:零);//找到标签 [theScanner scanUpToString: @”在“intoString:和文本);//发现标记替换为一个空格//(你可以过滤双后如果你想) html=[html stringByReplacingOccurrencesOfString: [NSString stringWithFormat: @ " % @>”,文本) withString: @ "); } MidStrTitle=html; 返回html; }
这样我们就处理掉了HTML标签,那么问题来了,如果我们要处理的是很多的HTML标签呢,我们该怎么处理呢,这就是这篇文章的目的。
<强> TFHpple库强>
如果我们想要得到是如下一个HTML源码中某一个标签的内容呢,部分源码如下,这里只是放了标签部分的内容
& lt; title>关于应用的声明& lt;/title> & lt;/head> & lt; body> & lt; h4>关于应用的声明& lt;/h4> & lt; p>只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试& lt;/p> & lt; p>只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试& lt;/p> & lt; h4>联系我们& lt;/h4> & lt; p>若您在使用该程序有遇到任何问题或有新想法,都可以联系我们。如下是我们的联系方式:& lt;/p> & lt; ul> & lt; li>只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试& lt;/li> & lt; li>电子邮件:xxxxxxxxxxxxxxxxxxxxxxxxxx & lt; li>电话:xxxxxxxxxxxxxxxxxx & lt;/ul> & lt; h4>感谢& lt;/h4> & lt; p>首先,感谢广大用户对公司的支持和鼓励,谢谢你们对我们的一路支持。;/p> & lt; p>只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试& lt;/p> & lt; h4>版权声明& lt;/h4> & lt; p>只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试& lt;/p> & lt;/body> & lt;/html>浅谈iOS解析HTMl标签以及开发中的一些坑