在Objective-C中解析HTML代碼實(shí)現(xiàn)原理
作者:月華如水
本文介紹的是在Objective-C中解析HTML代碼實(shí)現(xiàn)原理,主要是通過代碼來實(shí)現(xiàn)在Objective-C中如何解析HTML,來看本文詳細(xì)介紹。
在Objective-C中解析HTML代碼實(shí)現(xiàn)原理是本文要介紹的內(nèi)容, 內(nèi)容不多,主要是通過代碼實(shí)現(xiàn)解析HTML的過程,希望本文對你有幫助。我們來看詳細(xì)內(nèi)容實(shí)現(xiàn)。
- #import "StringChuLi.h"
- /*
- 項(xiàng)目作用:鏈接網(wǎng)絡(luò)解析html
- */
- @implementation StringChuLi
- //訪問網(wǎng)頁源碼
- -(NSString *)urlString:(NSString *)value{
- NSURL *url = [NSURL URLWithString:value];
- NSData *data = [NSData dataWithContentsOfURL:url];
- //解決中文亂碼,用GBK
- NSStringEncoding enc = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000);
- NSString *retStr = [[NSString alloc] initWithData:data encoding:enc];
- return retStr;
- }
- /*
- 作用:截取從value1到value2之間的字符串
- str:要處理的字符串
- value1:左邊匹配字符串
- value2:右邊匹配字符串
- */
- -(NSString *)str:(NSString *)str value1:(NSString *)value1 value2:(NSString *)value2{
- //i:左邊匹配字符串在str中的下標(biāo)
- int i;
- //j:右邊匹配字符串在str1中的下標(biāo)
- int j;
- //該類可以通過value1匹配字符串
- NSRange range1 = [str rangeOfString:value1];
- //判斷range1是否匹配到字符串
- if(range1.length>0){
- //把其轉(zhuǎn)換為NSString
- NSString *result1 = NSStringFromRange(range1);
- i = [self indexByValue:result1];
- //原因:加上匹配字符串的長度從而獲得正確的下標(biāo)
- ii = i+[value1 length];
- }
- //通過下標(biāo),刪除下標(biāo)以前的字符
- NSString *str1 = [str substringFromIndex:i];
- NSRange range2 = [str1 rangeOfString:value2];
- if(range2.length>0){
- NSString *result2 = NSStringFromRange(range2);
- j = [self indexByValue:result2];
- }
- NSString *str2 = [str1 substringToIndex:j];
- return str2;
- }
- //過濾獲得的匹配信息的下標(biāo)
- -(int)indexByValue:(NSString *)str{
- //使用NSMutableString類,它可以實(shí)現(xiàn)追加
- NSMutableString *value = [[NSMutableString alloc] initWithFormat:@""];
- NSString *colum2 = @"";
- int j = 0;
- //遍歷出下標(biāo)值
- for(int i=1;i<[str length];i++){
- NSString *colum1 = [str substringFromIndex:i];
- [value appendString:colum2];
- colum2 = [colum1 substringToIndex:1];
- if([colum2 isEqualToString:@","]){
- j = [value intValue];
- break;
- }
- }
- [value release];
- return j;
- }
- @end
小結(jié):在Objective-C中解析HTML代碼實(shí)現(xiàn)原理的內(nèi)容介紹完了,希望本文對你有所幫助!
責(zé)任編輯:zhaolei
來源:
CocoaChina