如何将NSString HTML标记转换为纯文本NSString?

在网上search如何将HTMLstring标记转换为纯文本的例子。

我从包含HTML的提要中获取信息,然后在文本视图中显示此信息。 UITextView有一个属性来转换HTML或我必须在代码中做到这一点。 我试过了:

 NSString *str = [NSString stringWithCString:self.fullText encoding:NSUTF8StringEndcoding]; 

但似乎没有工作。 任何人有任何想法?

你可以通过使用NSScanner类parsinghtml来完成

 - (NSString *)flattenHTML:(NSString *)html { NSScanner *theScanner; NSString *text = nil; theScanner = [NSScanner scannerWithString:html]; while ([theScanner isAtEnd] == NO) { [theScanner scanUpToString:@"<" intoString:NULL] ; [theScanner scanUpToString:@">" intoString:&text] ; html = [html stringByReplacingOccurrencesOfString:[NSString stringWithFormat:@"%@>", text] withString:@""]; } // html = [html stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]; return html; } 

希望这可以帮助。

如果您使用的是UIWebView,那么将HTMLparsing为文本将更容易:

 fullArticle = [webView stringByEvaluatingJavaScriptFromString:@"document.body.getElementsByTagName('article')[0].innerText;"]; // extract the contents by tag fullArticle = [webView stringByEvaluatingJavaScriptFromString:@"document.body.innerText"]; // extract text inside body part of HTML 

你不能直接做我猜..但是你可以使用NSXMLparsing器和parsingHTML和检索到底是你想要的…

如果您需要以只读方式呈现文本,为什么不使用UIWebView?