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

Posted 徒步天涯

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ios 提取html 字符串中的img 的地址(图片地址)相关的知识,希望对你有一定的参考价值。

 

 

本文原文地址  http://www.cnblogs.com/qianLL/p/6082287.html

有时候 后台返回的是一串html\'字符串 我们需要把里面的图片地址提取出来  这个关键就是一个正确的正则表达式 

即 

<(img|IMG)(.*?)(/>|></img>|>)

 

具体代码如下 返回的是这串字符串里面所有的图片地址  所有是一个集合

+ (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;
}

 

以上是关于ios 提取html 字符串中的img 的地址(图片地址)的主要内容,如果未能解决你的问题,请参考以下文章

PHP 正则表达式匹配 img ,PHP 正则提取或替换图片 img 标记中的任意属性。

正则表达式:(1)要求提取字符串中的img标签,并根据不同的情况将该img标签替换成不同的字符串。

js使用正则表达式将字符串里面的img标签src的值提取出来

如何多次提取字符串中的指定字符串

ASP提取html内指定内容

使用 preg_match_all 从字符串中提取 img src