在开发中难免会出现显示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;
效果如下:
这不是我们想要的结果,将代码换成这样:
// 即将显示的文本
NSString* htmlTagText = @"有一本书叫“亮剑”";
// 解析文本
htmlTagText = [htmlTagText htmlText];
// 实现到UIlabel上
self.htmlLabel.text = htmlTagText;
结果如下: