用正则表达式过滤出html中得 img标签,并且把URL链接给取出来

前端之家收集整理的这篇文章主要介绍了用正则表达式过滤出html中得 img标签,并且把URL链接给取出来前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。


最近做项目要处理html数据,其中是过滤出当中的图片,网上找了很多办法都不是很好用,发现用正则可以实现这个需求,有错误欢迎大家提出,共同讨论写正则的方法,下面是实现代码


+ (NSArray *)filterTheImgUrlArrFromfahterHtml:(NSString *)html{

//<(img|IMG)[^\<\>]*>找img标签的正则


NSString *ss = @"<(img|IMG)[^\\<\\>]*>";//img标签的正则表达式

NSRegularExpression *pre = [[NSRegularExpression alloc] initWithPattern:ss options:0 error:nil];

NSArray *arr = [pre matchesInString:html options:NSMatchingReportProgress range:NSMakeRange(0,html.length)];//这个方法匹配正则,找到符合的结果返回数组集合,返回的类型是NSTextCheckingResult下面会提到。

NSMutableArray *mutArr = [NSMutableArray arrayWithCapacity:1];

NSLog(@"---%@",arr);

for (NSTextCheckingResult *match in arr) {

NSRange matchRange = [match range];//返回的是每个imgb标签的位置

NSString *imgDivStr = [html substringWithRange:matchRange];//根据位置找对应img标签

imgDivStr = [imgDivStr stringByReplacingOccurrencesOfString:@" " withString:@""];此处我为了找出图片URL过滤掉空格

NSString *imgUrl = [[imgDivStr componentsSeparatedByString:@"src=\""] lastObject];

imgUrl = [[imgUrl componentsSeparatedByString:@"\""] firstObject];

[mutArr addObject:imgUrl]; } NSLog(@"%@",mutArr); return [NSArray arrayWithArray:mutArr]; }

原文链接:https://www.f2er.com/regex/360053.html

猜你在找的正则表达式相关文章