iOS 抓取 UIwebview 上 所有 圖片 并進行滾動播放
關于在UIwebview上添加滾動圖片 兩種滾動手勢會混淆,應為webview有webview.scrollview的屬性
故參照昨天的隨筆 scrollview嵌套解決方案。
本篇隨筆主要講循環使用正則表達式,本人在此提供一個在線編輯正則表達式、并驗證的好東東網址如下:
http://www.rubular.com/
可以事先校驗好自己的正則表達式,我在網上搜索好多 抓取網頁所有圖片的方法 寥寥無幾 我覺得我的方法特別方便 在此收入自己的博客
正則法則1:<img [^>]*src\\s*=\\s*\"([^>]+)\"
這個是 獲取 img 的所有屬性 包括 img 的長寬等 比如結果:<img src="http://img.iknow.bdimg.com/app/qrcode.png" style="height:609px; width:528px" />
我想提取的是src的圖片名稱 以下是 進步版本
正則法則 2:src=((.+)('|\.gif|\.jpg|\.png))
就可以獲取到 src="http://img.iknow.bdimg.com/app/qrcode.png
再用字符串屬性 [str1 substringFromIndex:5];去掉前5個字符就可以了
其實我想用正則直接得到目標串 但是沒實現 ,如果哪位親 會的話 一定要告訴我 哦
循環提取當前網頁所有src 方法如下:
//正則法則start -(NSMutableArray*)match_fun:(NSString *)searchText Regex:(NSString *)regTags { NSMutableArray *arr=[[[NSMutableArray alloc]init]autorelease]; NSError *error = NULL; NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:regTags options:NSRegularExpressionCaseInsensitive // 還可以加一些選項,例如:不區分大小寫 error:&error]; NSLog(@"正則法則 判斷結果: %@",error); NSArray *matches = [regex matchesInString:searchText options:0 range:NSMakeRange(0, [searchText length])]; // NSLog(@"%@",matches); // 用下面的辦法來遍歷每一條匹配記錄 // NSString *re=@"[iI][mM][gG][\s]*[sS][rR][cC][\s]*=[\s'\"]*(?<ref_value>.*?(\.gif|\.jpg|\.png)) "; int i=0; for (NSTextCheckingResult *match in matches) { NSRange matchRange = [match range]; NSString *tagString = [searchText substringWithRange:matchRange]; // 整個匹配串 [arr insertObject:tagString atIndex:i]; i++; //NSLog(@"tagString: %@",tagString); } return arr; } //調用: NSString *searchText = [showWebView stringByEvaluatingJavaScriptFromString:@"document.documentElement.innerHTML"]; NSString *regTags = @"src=((.+)('|\.gif|\.jpg|\.png))";//@"<img [^>]*src\\s*=\\s*\"([^>]+)\""; NSMutableArray *arr=[[[NSMutableArray alloc]init]autorelease]; arr=[self match_fun:searchText Regex:regTags]; NSLog(@"結果 arr :%@",arr); for(int i=0;i<count;i++) { NSString *str1=[NSString stringWithFormat:@"%@",[arr objectAtIndex:i]]; str1= [str1 substringFromIndex:5]; /////其他操作 }
posted on 2014-02-16 22:35 ACM_Someone like you 閱讀(712) 評論(0) 收藏 舉報
浙公網安備 33010602011771號