我有一个可编辑的NSTextView,其中用户将使用不同的字体样式编写,在某些操作上我需要准备HTML Formate, 任何人都可以建议我,我如何从NSTextView检索数据, 我可以使用
[[pInputText textStorage] words];
但它返回NSArray,我无法从中获取NSMutableString,
任何人都可以建议我以最佳方式检索用户输入的字符串/数据以及格式。
答案 0 :(得分:2)
以下解决方案适用于我,
- (NSString *)convertUnderlineTextToHTML:(NSAttributedString *)_mString
{
NSArray * exclude = [NSArray arrayWithObjects:@"doctype", @"html",
@"head", @"body",@"xml",nil];
NSDictionary * htmlAtt = [NSDictionary
dictionaryWithObjectsAndKeys:NSHTMLTextDocumentType,NSDocumentTypeDocumentAttribute,exclude,NSExcludedElementsDocumentAttribute,nil];
NSError * error;
NSData * htmlData = [_mString dataFromRange:NSMakeRange(0, [_mString
length]) documentAttributes:htmlAtt error:&error];
NSString * sdat = [[NSString alloc] initWithData:htmlData
encoding:NSUTF8StringEncoding];
NSLog(sdat);
return sdat;
}
_mString是
NSMutableAttributedString *pAttributedString = [pInputText textStorage];
NSString *pHtml = [self convertUnderlineTextToHTML:pAttributedString];
此致 罗汉
答案 1 :(得分:1)
NSTextView
继承自NSText
,其-string
方法。所以[pInputText string
应该做你想做的事。
或者,TextStorage
是NSMutableAttributedString
的子类,因此如果您想要一个属性字符串,则可以直接使用[pInputText textStorage]
的返回值。
答案 2 :(得分:0)
由于NSTextStorage
是NSMutableAttributedString
的子类,它通过其超类NSAttributedString
initWithHTML:baseURL:documentAttributes有一个方法,因此您可以使用它来获得您想要的内容。 documentAttributes可以是NULL
。