ios图文详情加载html_iOS 解析含有HTML标签的字符串

基本上APP都具有展示文章的功能,有时候添加文章的途径不仅仅是通过APP,有可能是通过web端添加的,通过web端添加进行排版会包含HTML标签以及样式,如果后台返回给我们的是完整的HTML,我们可以通过webview去加载,但是我遇到的情况是只是HTML的一部分包含HTML标签的文字内容,例如:

今日,GMIC 2016正式在北京开幕,开幕仪式上,中关村发展集团总经理周云帆作了致辞演讲,他表示,

“据统计2015年仅在这一年里面,中关村新创办的科技型企业达到了2.1万余家,很大一部分都是“互联

网+”的企业。中关村的建设目标是到2020年要建设成为具有全球影响力

的科技创新中心。”

解析前

APP进行展示的时候,UILabel并不会主动去解析这些含有HTML元素的东西,显示的内容显然不是我们想要的结果。这个时候我就联想到了使用强大的属性字符串去解析,果然就找到了相应的方法:

Objective-C代码:

NSMutableAttributedString * attrStr = [[NSMutableAttributedString alloc]

initWithData:[string dataUsingEncoding:

NSUnicodeStringEncoding]

options:@{

NSDocumentTypeDocumentAttribute:

NSHTMLTextDocumentType

}

documentAttributes:nil error:nil];

self.articelContent.text = [attrStr string];

swift代码:

let attr = try? NSMutableAttributedString(data: data, options: [NSAttributedString.DocumentReadingOptionKey.documentType: NSAttributedString.DocumentType.html], documentAttributes: nil)

通过属性字符串进行解析后,如果直接把属性字符串赋给UILabel的attributedText属性就会显示出相应的HTML样式,如果我们不需要这些样式,而是统一显示,可以通过属性字符串获取string赋值给UILabel的text,从而不会显示HTML的样式:self.articelContent.text = [attrStr string];。

解析后

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值