Objective-C里字符串NSString过滤HTML标签的方法

// 第一种,用NSScanner扫描,来自下面这个著名的链接,不过现在打不开鸟~  // Source: http://rudis.net/content/2009/01/21/flatten-html-content-ie-strip-tags-cocoaobjective-c


- (NSString *)removeHTML:(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:@" "];

}

return html;

}


// 第二种,用NSString自带的Seprated自截断方法

- (NSString *)removeHTML2:(NSString *)html{

NSArray *components = [html componentsSeparatedByCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@"<>"]];

NSMutableArray *componentsToKeep = [NSMutableArray array];

for (int i = 0; i < [components count]; i = i + 2) {

[componentsToKeep addObject:[components objectAtIndex:i]];

}

NSString *plainText = [componentsToKeep componentsJoinedByString:@""];
return plainText;
}

转载地址:http://bbs.9ria.com/thread-244433-1-1.html


  1. - (NSString *)flattenHTML:(NSString *)html trimWhiteSpace:(BOOL)trim  
  2. {  
  3.     NSScanner *theScanner = [NSScanner scannerWithString:html];  
  4.     NSString *text = nil;  
  5.       
  6.     while ([theScanner isAtEnd] == NO) {  
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值