关于在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];
/////其他操作
}

web 网页截取图片的更多相关文章

  1. WEB网页插件 如何实现 选择上传图片路径 【高级问题】

    发表于 2010-10-22 12:11 | |只看楼主       按键精灵程序里面的WEB网页插件 如何实现 选择上传图片路径 我想在上传图片的选框设置图片路径为 C:\fakepath\001. ...

  2. web开发常用图片格式

    web开发常用图片格式有:gif   jpg/jpeg    png gif:图片压缩率高,可以显示动画,但是只能显示256色,可能造成颜色丢失. jpg:图片压缩率高(有损压缩),可以用小文件来显示 ...

  3. web网页练习

    一. HTML部分 1. XHTML和HTML有什么区别 HTML是一种基本的WEB网页设计语言,XHTML是一个基于XML的置标语言最主要的不同: XHTML 元素必须被正确地嵌套. XHTML 元 ...

  4. chrome也可以整张网页截图,保存完整网页为图片

    转自:http://www.webkaka.com/blog/archives/chrome-save-a-webpage.html 关于浏览器截图,一直以为Chrome无能为力,最近发现,原来Chr ...

  5. Jquery 网页转换为图片

    /* html2canvas 0.5.0-alpha1 <http://html2canvas.hertzen.com> Copyright (c) 2015 Niklas von Her ...

  6. TI IPNC Web网页之网页修改教程

    web网页程序修改 打开gStudio之后,点击菜单栏中Help->Contents.先把这个诡异的编程语言看一遍吧.这里搬一些东西出来. GoDB简介 从第一副图片中,我们可以看出,从源文件到 ...

  7. 使用wget工具抓取网页和图片 及 相关工具几个

    想保存一些网页,最后找到这 wget 的 shell脚本,虽然不是太理想,亲测可用呢. 使用wget工具抓取网页和图片   来源 https://my.oschina.net/freestyletim ...

  8. 【Python之路】特别篇--微信Web网页版通信的全过程分析

    文章所使用Python版本为py3.5 1.微信服务器返回一个会话ID 微信Web版本不使用用户名和密码直接登录,而是采用二维码登录,所以服务器需要首先分配一个唯一的会话ID,用来标识当前的一次登录. ...

  9. web网页中使用vlc插件播放相机rtsp流视频

    可参考: 使用vlc播放器做rtsp服务器 使用vlc播放器播放rtsp视频 使用vlc进行二次开发做自己的播放器 vlc功能还是很强大的,有很多的现成的二次开发接口,不需配置太多即可轻松做客户端播放 ...

随机推荐

  1. sharepoint2010无法连接到配置数据库。

    最近VS部署又遇到这个问题了,记录一下. 然后以管理员省份打开sharePoint管理中心,发现页面展示光秃秃的“无法连接到配置数据库” 解决方式:问的同事. 找到计算机 服务 项, 这个启动下 这个 ...

  2. Centos7.x系统优化

    1.安装常用软件 yum install tree nmap sysstat lrzsz dos2unix wget  net-tools ntpdate -y 2.配置yum源 mv /etc/yu ...

  3. iOS常用第三方库大全,史上最全第三方库收集

    下拉刷新 EGOTableViewPullRefresh – 最早的下拉刷新控件. SVPullToRefresh – 下拉刷新控件. MJRefresh – 仅需一行代码就可以为UITableVie ...

  4. unity shadow

    这东西好难找LIGHT_ATTENUATION(a) shadow 的结果就在这个衰减里,这谁能猜的着,我一点点测出来的,reference也很难找 感谢这位http://blog.csdn.net/ ...

  5. Manacher回文串算法学习记录

    FROM:  http://hi.baidu.com/chenwenwen0210/item/482c84396476f0e02f8ec230 #include<stdio.h> #inc ...

  6. Java 实例

    Java 实例 本章节我们将为大家介绍 Java 常用的实例,通过实例学习我们可以更快的掌握 Java 的应用. Java 环境设置实例 Java 实例 – 如何编译一个Java 文件? Java 实 ...

  7. mysql误操作后通过binlog恢复,同时解决tmp目录满的问题

    注意: 本文的恢复,并不是基于恢复某个时间点的全量备份后的增量恢复,而是指在现有数据库基础上基于binlog的恢复.适用于较小的数据误操作. 提取日志文件为sql语句: /usr-ext/local/ ...

  8. Android无数据线调试方法

    平时在Android设备上调试程序.通常是将Android设备用数据线和PC机相连. 可是,在没有数据线的情况下也能够: 1.将PC机和Android设备连到同一网段. 2.获取Android设备的I ...

  9. jquery load方式浏览器断点调试

    jquery load的方式引入的,如果需要在浏览器中断点调试,需要在代码中使用debugger进行断点

  10. TCP/IP详解 卷一(第十二章 广播和多播)

    广播和多播仅应用于UDP. 广播指的是一个主机向网上的所有其他主机发送帧,而 多播仅发送给属于多播组的多个主机. 为了弄清广播和多播,需要了解主机对由信道传送过来帧的过滤过程 1.首先,网卡查看由信道 ...