如何将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?