iOS 使用object-c把html转成NSAttributeString
时间: 2023-11-27 14:55:19 浏览: 203
可以使用iOS自带的`NSAttributedString`和`NSHTMLTextDocumentType`来实现将HTML转换为`NSAttributedString`。下面是一个示例代码:
```objective-c
// html字符串
NSString *htmlString = @"<h1>Hello, World!</h1><p>This is a paragraph.</p>";
NSError *error = nil;
NSAttributedString *attributedString = [[NSAttributedString alloc] initWithData:[htmlString dataUsingEncoding:NSUTF8StringEncoding] options:@{ NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType } documentAttributes:nil error:&error];
if (error) {
NSLog(@"Error: %@", error.localizedDescription);
} else {
NSLog(@"Attributed String: %@", attributedString);
}
```
在上面的示例代码中,我们首先定义了一个HTML字符串`htmlString`。然后,我们使用`NSAttributedString`的`initWithData:options:documentAttributes:error:`方法将HTML字符串转换为`NSAttributedString`。我们将`NSDocumentTypeDocumentAttribute`选项设置为`NSHTMLTextDocumentType`,这样`NSAttributedString`就知道我们正在处理HTML。最后,我们将转换后的`NSAttributedString`打印出来。
需要注意的是,在转换过程中,如果HTML字符串中包含的标签或属性不受iOS支持,可能会导致转换失败并返回一个错误。
阅读全文