美文网首页
ios 提取html 字符串中的img 的地址(图片地址)

ios 提取html 字符串中的img 的地址(图片地址)

作者: 倒着游的鱼 | 来源:发表于2023-04-23 10:30 被阅读0次

//传入html的原始的内容

- (NSArray *)filterImage:(NSString *)html  {

    NSMutableArray *resultArray = [NSMutableArray array];

      NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"<(img|IMG)(.*?)(/>|></img>|>)" options:NSRegularExpressionAllowCommentsAndWhitespace error:nil];

    NSArray *result = [regex matchesInString:html options:NSMatchingReportCompletion range:NSMakeRange(0, html.length)];

    for (NSTextCheckingResult *item in result) {
        NSString *imgHtml = [html substringWithRange:[item rangeAtIndex:0]];

        NSArray *tmpArray = nil;

        if ([imgHtml rangeOfString:@"src=\""].location != NSNotFound) {

            tmpArray = [imgHtml componentsSeparatedByString:@"src=\""];

        } else if ([imgHtml rangeOfString:@"src="].location != NSNotFound) {
            tmpArray = [imgHtml componentsSeparatedByString:@"src="];
        }
        if (tmpArray.count >= 2) {

            NSString *src = tmpArray[1];
            NSUInteger loc = [src rangeOfString:@"\""].location;

            if (loc != NSNotFound) {
                src = [src substringToIndex:loc];
                [resultArray addObject:src];
            }
        }

    }
    return resultArray;
}

方式二
该方法传入一个heml代码字符串,然后返回html中包含的所有图片url

//获取webView中的所有图片URL

- (NSArray *) getImageurlFromHtml:(NSString *) webString

{

NSMutableArray * imageurlArray = [NSMutableArray arrayWithCapacity:1];

//标签匹配

    NSString *parten = @"";

NSError* error = NULL;

NSRegularExpression *reg = [NSRegularExpression regularExpressionWithPattern:parten options:0 error:&error];

NSArray* match = [reg matchesInString:webString options:0 range:NSMakeRange(0, [webString length] - 1)];

for (NSTextCheckingResult * result in match) {

//过去[数组](https://so.csdn.net/so/search?q=%E6%95%B0%E7%BB%84&spm=1001.2101.3001.7020)中的标签

NSRange range = [result range];

NSString * subString = [webString substringWithRange:range];

//从图片中的标签中提取ImageURL

NSRegularExpression *subReg = [NSRegularExpression regularExpressionWithPattern:@"http://(.*?)\"" options:0 error:NULL];

NSArray* match = [subReg matchesInString:subString options:0 range:NSMakeRange(0, [subString length] - 1)];

NSTextCheckingResult * subRes = match[0];

NSRange subRange = [subRes range];

subRange.length = subRange.length -1;

NSString * imagekUrl = [subString substringWithRange:subRange];

//将提取出的图片URL添加到图片数组中

[imageurlArray addObject:imagekUrl];

}

return imageurlArray;

}

相关文章

网友评论

      本文标题:ios 提取html 字符串中的img 的地址(图片地址)

      本文链接:https://www.haomeiwen.com/subject/wmnejdtx.html