iOS解析html(转)

  1. #import "StringChuLi.h"  
  2. /*  
  3. 项目作用:链接网络解析html  
  4.  */  
  5.  
  6. @implementation StringChuLi  
  7.  
  8. //访问网页源码  
  9. -(NSString *)urlString:(NSString *)value{  
  10. NSURL *url = [NSURL URLWithString:value];  
  11. NSData *data = [NSData dataWithContentsOfURL:url];    
  12. //解决中文乱码,用GBK  
  13. NSStringEncoding enc = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000);      
  14. NSString *retStr = [[NSString alloc] initWithData:data encoding:enc];  
  15. return retStr;  
  16. }  
  17. /*  
  18.  作用:截取从value1到value2之间的字符串  
  19.  str:要处理的字符串  
  20.  value1:左边匹配字符串  
  21.  value2:右边匹配字符串  
  22.  */  
  23. -(NSString *)str:(NSString *)str value1:(NSString *)value1 value2:(NSString *)value2{  
  24. //i:左边匹配字符串在str中的下标  
  25. int i;  
  26. //j:右边匹配字符串在str1中的下标  
  27. int j;  
  28. //该类可以通过value1匹配字符串  
  29. NSRange range1 = [str rangeOfString:value1];  
  30. //判断range1是否匹配到字符串  
  31. if(range1.length>0){  
  32. //把其转换为NSString  
  33. NSString *result1 = NSStringFromRange(range1);  
  34. i = [self indexByValue:result1];  
  35. //原因:加上匹配字符串的长度从而获得正确的下标  
  36. ii = i+[value1 length];  
  37. }  
  38. //通过下标,删除下标以前的字符  
  39. NSString *str1 = [str substringFromIndex:i];  
  40. NSRange range2 = [str1 rangeOfString:value2];  
  41. if(range2.length>0){  
  42. NSString *result2 = NSStringFromRange(range2);  
  43. j = [self indexByValue:result2];  
  44. }  
  45. NSString *str2 = [str1 substringToIndex:j];  
  46. return str2;  
  47. }  
  48.  
  49. //过滤获得的匹配信息的下标  
  50. -(int)indexByValue:(NSString *)str{  
  51. //使用NSMutableString类,它可以实现追加  
  52. NSMutableString *value = [[NSMutableString alloc] initWithFormat:@""];  
  53. NSString *colum2 = @"";  
  54. int j = 0;  
  55. //遍历出下标值  
  56. for(int i=1;i<[str length];i++){  
  57. NSString *colum1 = [str substringFromIndex:i];  
  58. [value appendString:colum2];  
  59. colum2 = [colum1 substringToIndex:1];  
  60. if([colum2 isEqualToString:@","]){  
  61. j = [value intValue];  
  62. break;  
  63. }  
  64. }  
  65. [value release];  
  66. return j;  
  67. }  
  68. @end 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值