去除网络请求中数据的链接

来源:互联网 发布:软件之家官网 编辑:程序博客网 时间:2024/06/16 02:30

做项目时可能需要一些网络接口的数据,然后用UIWebView加载HTML的资源,但不能让其存在链接,但是连接部分的字还需要保留.

提供一种思路:获取网络数据,用字符串截取的方式,将元数据进行分割,在逐条进行处理,去掉连接.最后将处理后的数据进行拼接得到完整的字符串.

//data为网络解析的数据

NSMutableDictionary *dic = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil];        NewsSecondModel *secondModel = [[NewsSecondModel alloc] init];        [secondModel setDataWithDic:dic];        secondCon.secondModel = secondModel;                NSString *comStr = secondModel.body;        NSLog(@"comStr>>>>>>>>%@",comStr);                NSArray *strArray = [comStr componentsSeparatedByString:@"\n"];        NSMutableArray *valueArray = [NSMutableArray arrayWithArray:strArray];//        NSLog(@"valueArraylast5 >>>%@",[valueArray objectAtIndex:valueArray.count- 7]);        NSMutableArray *finshArray = [NSMutableArray arrayWithCapacity:0];         //重新拼接字符串去除网页中的超链接        for (NSString *value in valueArray) {                        NSRange headRange = [value rangeOfString:@"heading"];            NSRange zhiHu = [value rangeOfString:@"知乎专栏"];            if (headRange.location != NSNotFound || zhiHu.location != NSNotFound) {                            }else{                        //获取带有href字符串的字符串            NSRange subStr = [value rangeOfString:@"href"];                        if (subStr.location != NSNotFound) {                //根据"<a"分割字符串                NSArray *comArr = [value componentsSeparatedByString:@"<a"];//                NSLog(@"comArr>>>%@",comArr);                for (NSString *comStr2 in comArr) {                    //                    NSLog(@"%@",comStr2);                                                            NSString *lastStr = @"";                    //根据"\">"分割字符串                    NSRange strRange2 = [comStr2 rangeOfString:@"\">"];                    NSRange strImg = [comStr2 rangeOfString:@"img"];                    if (strRange2.location != NSNotFound &&strImg.location == NSNotFound) {                                                NSArray *comArr2 = [comStr2 componentsSeparatedByString:@"\">"];                        for (NSString *comStr3 in comArr2) {                            NSRange strRange3 =  [comStr3 rangeOfString:@"</a>"];                            if (strRange3.location != NSNotFound) {                                 //根据"</a>"分割字符串                                NSArray *comArr3 = [comStr3 componentsSeparatedByString:@"</a>"];                                lastStr = [NSString stringWithFormat:@"%@%@%@",lastStr,[comArr3 firstObject],[comArr3 lastObject]];                            }                            else{                                lastStr = [NSString stringWithFormat:@"%@",lastStr];                            }                        }                    }else{                        lastStr = [NSString stringWithFormat:@"%@%@",lastStr,comStr2];//                        NSLog(@"lastStr == %@",lastStr);                    }                    [finshArray addObject:lastStr];                }            }else{                               [finshArray addObject:value];            }        }            }                               NSString *finshValue = @"";        for (NSString *strComp in finshArray) {            finshValue = [NSString stringWithFormat:@"%@%@",finshValue,strComp];            NSLog(@"%@,",strComp);        }        [secondCon.newsWebView loadHTMLString:finshValue baseURL:nil];


0 0
原创粉丝点击