+ (NSString*)filterHTML:(NSString*)html {
if(html.length<=0) {
return@"";
}
NSString*emspStr1 =@" ";
html = [html stringByReplacingOccurrencesOfString:emspStr1 withString:@" "];
NSString* regEx =@" ";
html = [html stringByReplacingOccurrencesOfString:regEx withString:@" "];
NSString* regEx1 =@"<br>";
html = [html stringByReplacingOccurrencesOfString:regEx1 withString:@"\n"];
NSString* regEx2 =@"<br/>";
html = [html stringByReplacingOccurrencesOfString:regEx2 withString:@"\n"];
NSString* regEx3 =@"</p>";
html = [html stringByReplacingOccurrencesOfString:regEx3 withString:@"\n"];
NSRegularExpression *regularExpretion=[NSRegularExpression regularExpressionWithPattern:@"<[^>]*>|" options:0 error:nil];
html = [regularExpretion stringByReplacingMatchesInString:html options:NSMatchingReportProgress range:NSMakeRange(0, html.length) withTemplate:@""];
// NSScanner * scanner = [NSScanner scannerWithString:html];
// NSString * text = nil;
// while([scanner isAtEnd]==NO)
// {
// //找到标签的起始位置
// [scanner scanUpToString:@"<" intoString:nil];
// //找到标签的结束位置
// [scanner scanUpToString:@">" intoString:&text];
// //替换字符
// html = [html stringByReplacingOccurrencesOfString:[NSString stringWithFormat:@"%@>",text] withString:@""];
// }
return[self flattenHTML:html];
}
// 过滤后台返回字符串中的标签
+ (NSString*)flattenHTML:(NSString*)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:@"/n"];
}
// MidStrTitle = html;
return html;
}
iOS 过滤html标签
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 文字(UI或分享时的标题(描述))展示给用户的时候,可能需要过滤掉html标签,有的开发团队可能把过滤操作放在后端...
- 在今天在数据处理的时候,后台返回的json中有个字段是html内容,但是我这边只需要里面的文字部分,就写了如下这个方法: