iOS显示HTML文本
2017-05-10 本文已影响447人
CoderHG
在开发中难免会出现显示HTML文本的情况,但是需要前端做一下处理,再显示.只需要写一个NSString的分类即可,方法如下:
/**
* 返回H5标签转义属性
*/
- (NSString*)htmlText {
NSDictionary* options = @{
NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType
};
NSMutableAttributedString* attrs = [[NSMutableAttributedString alloc] initWithData:[self dataUsingEncoding:NSUnicodeStringEncoding] options:options documentAttributes:nil error:nil];
return attrs.string;
}
比如,我想要显示如下文本:
// 即将显示的文本
NSString* htmlTagText = @"有一本书叫“亮剑”";
// 实现到UIlabel上
self.htmlLabel.text = htmlTagText;
效果如下:
![](https://img.haomeiwen.com/i1198135/70e584be6647e21e.png)
这不是我们想要的结果,将代码换成这样:
// 即将显示的文本
NSString* htmlTagText = @"有一本书叫“亮剑”";
// 解析文本
htmlTagText = [htmlTagText htmlText];
// 实现到UIlabel上
self.htmlLabel.text = htmlTagText;
结果如下:
![](https://img.haomeiwen.com/i1198135/743ca5305cd0a1f9.png)