gpt4 book ai didi

html - 如何在 iOS 中从 NSAttributedString 获取 html 字符串

转载 作者:行者123 更新时间:2023-11-29 12:01:53 27 4
gpt4 key购买 nike

我在我的应用程序中使用 UITextview。我已将 allowsEditingTextAttributes 属性设置为 YES,以便在用户从浏览器复制粘贴到 textView 并且工作正常时显示图像和格式化文本。

我想从 UITextView 中以 html 格式取回内容,有什么方法可以获取它吗? (我可以使用 UIWebView 实现它,但我只需要使用 UITextView)

谢谢

最佳答案

据我所知,Apple 没有提供 API 来做你想做的事。您需要从 UITextView 获取作为 NSAttributedString 的属性文本并将其转换为 HTML。但是,有一些开源项目,例如 DTCoreText .如果您不寻求非常高级的功能,您也可以自己构建它,只需遍历字符串的字符并分析样式属性即可。

编辑:实际上,现在有一个 API 可以做到这一点!您可以使用 NSAttributedStringdataFromRange:documentAttributes:error: ,传递 NSHTMLTextDocumentType 作为请求的文档类型。干杯!

示例(在 Swift 中,在 Objective-C 中可以类似地完成):

//Grab the attributed string, convert it to HTML data
let data = try self.textView.attributedText.dataFromRange(
NSMakeRange(0, self.textView.attributedText.length),
documentAttributes: [NSDocumentTypeDocumentAttribute : NSHTMLTextDocumentType]
)

//Convert the UTF-8 data to a string, display it in the text view
self.textView.attributedText = NSAttributedString(
string: NSString(data: data, encoding: NSUTF8StringEncoding)! as String
)

关于html - 如何在 iOS 中从 NSAttributedString 获取 html 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36581954/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com