在今天在数据处理的时候,后台返回的json中有个字段是html内容,但是我这边只需要里面的文字部分,就写了如下这个方法:
- (NSString *)flattenHTML:(NSString *)html {
// 过滤html标签
NSScanner *theScanner;
NSString *text = nil;
theScanner = [NSScanner scannerWithString:html];
while ([theScanner isAtEnd] == NO) {
// find start of tag
[theScanner scanUpToString:@"<" intoString:NULL] ;
// find end of tag
[theScanner scanUpToString:@">" intoString:&text] ;
// replace the found tag with a space
//(you can filter multi-spaces out later if you wish)
html = [html stringByReplacingOccurrencesOfString:
[NSString stringWithFormat:@"%@>", text] withString:@""];
}
// 过滤html中的\n\r\t换行空格等特殊符号
NSMutableString *str1 = [NSMutableString stringWithString:html];
for (int i = 0; i < str1.length; i++) {
unichar c = [str1 characterAtIndex:i];
NSRange range = NSMakeRange(i, 1);
// 在这里添加要过滤的特殊符号
if ( c == '\r' || c == '\n' || c == '\t' ) {
[str1 deleteCharactersInRange:range];
--i;
}
}
html = [NSString stringWithString:str1];
return html;
}