【作者前言】:13年入圈,分享些本人工作中遇到的点点滴滴那些事儿,17年刚开始写博客,高手勿喷!以分享交流为主,欢迎各路豪杰点评改进!
1.应用场景:
有些编辑器相关的地方需要我们处理富文本与超文本之间的关系
2.实现目标:
实现富文本与超文本之间的相互转化
3.代码说明:
/** 富文本NSAtrributeString格式转换为超文本HTML格式*/
- (NSString *)htmlStringByAttributeString:(NSAttributedString *)htmlAttributeString {
NSString *htmlString;
NSDictionary *exportParams = @{NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType,
NSCharacterEncodingDocumentAttribute: [NSNumber numberWithInt:NSUTF8StringEncoding]
};
NSData *htmlData = [htmlAttributeString dataFromRange:NSMakeRange(0, htmlAttributeString.length) documentAttributes:exportParams error:nil];
htmlString = [[NSString alloc] initWithData:htmlData encoding:NSUTF8StringEncoding];
return htmlString;
}
/** 超文本HTML格式转换为富文本AtrributeString格式*/
- (NSAttributedString *)attributeStringByHtmlString:(NSString *)htmlString {
NSAttributedString *attributeString;
NSData *htmlData = [htmlString dataUsingEncoding:NSUTF8StringEncoding];
NSDictionary *importParams = @{NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType,
NSCharacterEncodingDocumentAttribute: [NSNumber numberWithInt:NSUTF8StringEncoding]
};
NSError *error = nil;
attributeString = [[NSAttributedString alloc] initWithData:htmlData options:importParams documentAttributes:NULL error:&error];
return attributeString;
}
网友评论