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

如何在iOS中从NSAttributedString获取html字符串,html,ios,objective-c,Html,Ios,Objective C,我正在我的应用程序中使用UITextview。我已经将AllowEditingTextAttributes属性设置为YES,以便在用户从浏览器复制粘贴到textView并正常工作时显示图像和格式化文本 我想从UITextView检索html格式的内容,有没有办法获取它?(我可以使用UIWebView实现它,但我只需要使用UITextView) 谢谢据我所知,苹果没有提供API来满足您的需求。您需要从UITextView获取属性化文本作为NSAttributedString,并将其转换为HTML。

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

我想从
UITextView
检索html格式的内容,有没有办法获取它?(我可以使用
UIWebView
实现它,但我只需要使用
UITextView


谢谢

据我所知,苹果没有提供API来满足您的需求。您需要从
UITextView
获取属性化文本作为
NSAttributedString
,并将其转换为HTML。例如,有一些开源项目就是这样做的。如果您不是在寻找非常高级的特性,您也可以自己构建它,只需循环字符串的字符并分析样式属性

编辑:实际上,现在有一个API来做这件事!您可以使用
NSAttributedString
,将
NSHTMLTextDocumentType
作为请求的文档类型传递。 干杯

示例(在Swift中,也可以在Objective-C中进行类似操作):


您可以查看此存储库:

全文如下:

AshtonHTMLReader.h

 - (NSAttributedString *)attributedStringFromHTMLString:(NSString *)htmlString;
作者:

AshtonHTMLWriter.h

- (NSString *)HTMLStringFromAttributedString:(NSAttributedString *)input;

看看它是否能帮到你。

谢谢,我试过了(我指的是dataFromRange:documentAttributes:error:),但它工作不正常。‘工作不正常’是什么意思?我自己试过了,对我来说很管用。检查我的初始答案,我添加了一个示例。如果粘贴的内容包含图像和结果字符串,而不包含包含锚定标记的img标记。此存储库不会将NSTextAttachment转换为html中的img标记。
AshtonHTMLWriter.h

- (NSString *)HTMLStringFromAttributedString:(NSAttributedString *)input;