如何将NSString HTML标记转换为纯文本NSString? [英] How to convert NSString HTML markup to plain text NSString?
问题描述
正在搜索网络,以查看如何将HTML字符串标记转换为纯文本的示例。
我从包含 HTML
的提要中获取我的信息,然后在文本视图中显示此信息。 UITextView
是否有一个属性来转换 HTML
或者我必须在代码中执行它。我试过:
pre $ n code $ NSString * str = [NSString stringWithCString:self.fullText encoding:NSUTF8StringEndcoding];
但似乎不起作用。任何人有任何想法?
你可以通过使用NSScanner类解析html来完成。
- (NSString *)flattenHTML:(NSString *)html {
NSScanner * theScanner;
NSString * text = nil;
theScanner = [NSScanner scannerWithString:html]; ([theScanner isAtEnd] == NO){
[theScanner scanUpToString:@< intoString:NULL];
[theScanner scanUpToString:@> intoString:& text];
html = [html stringByReplacingOccurrencesOfString:[NSString stringWithFormat:@%@>,text] withString:@];
}
//
html = [html stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
返回html;
}
希望这有助于您。
Been searching the net for an example of how to convert HTML string markup into Plain text.
I get my information from a feed which contains HTML
, I then display this information in a Text View. does the UITextView
have a property to convert HTML
or do I have to do it in code. I tried:
NSString *str = [NSString stringWithCString:self.fullText encoding:NSUTF8StringEndcoding];
but doesn't seem to work. Anyone got any ideas?
You can do it by parsing the html by using NSScanner class
- (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;
}
Hope this helps.
这篇关于如何将NSString HTML标记转换为纯文本NSString?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!