php 正则表达式提取图片url程序
我想对 html 的图片进行提取.
代码如下 | 复制代码 |
<img ico src="/noavatar_small.gif" /> <img src="/noavatar_small.gif" /> |
如上地址. 我想全部提取出来 但是包含'ico' 的地址 忽略. 求正则 , 就是有些图片 提取.有些不提取.
例子:
代码如下 | 复制代码 |
<s*imgs+[^>]*?srcs*=s*('|")(.*?)\1[^>]*?/?s*> |
经改进后..
正确解答如下
代码如下 | 复制代码 |
/<img(?:(?!(ico)).)+/>/ |
实例
代码如下 | 复制代码 |
//要替换的内容 //提取图片路径的src的正则表达式 $img = ""; $patterns= array(); foreach($img as $imgItem){ $final_imgUrl = $img_url.$imgItem; $img_new = "/".preg_replace("///i","/",$imgItem)."/"; } //让数组按照key来排序 //替换内容 |
PHP Notice: Undefined variable
PHP Notice: Undefined index
看看吧,你有没定义的变量直接使用了。不过编PHP的时候本来就不像C++那么严格,编程的时候经常还会利用这个特点。PHP的默认设置是显示这些提示,这会造成页面无法正常显示出来。
代码如下 | 复制代码 |
//error_reporting(E_ALL); |
第一个是代表显示所有错误,
第二个代表显示所有错误不显示警告,
我们只要把第二行前面加//,把第一行前面的//去掉即可。
附:各个错误报告详解
使用方法:
代码如下 | 复制代码 |
error_reporting(0);//禁用错误报告 |
实例
代码如下 | 复制代码 |
if (!$a) { |
在php.ini中禁止修改方法
1、由空间商在服务器中的php.ini的配置文件修改:
在php.ini文件中改动error_reporting
改为:
代码如下 | 复制代码 |
error_reporting = E_ALL & ~E_NOTICE |
如果你是固得美国空间用户,不能操作php.ini文件,你可以用下面的方法来实现
2.在你想禁止notice错误提示的页面中加入下面的代码
代码如下 | 复制代码 |
/* Report all errors except E_NOTICE */ |
注意一点的是
关闭掉PHP错误输出并不会关闭php内核对错误的处理,代码中如果有大量的Notice级别的错误,还是会降低php程序的性能。所以我们在开发的时候还是要将错误级别开至E_ALL,谨慎的处理掉每处不合理的代码
代码如下 | 复制代码 |
<?php //替换后的内容,和上面的匹配规则一一对应 /** /** FileUtil::copyDir("resource","cloud",true); ?> |
首先我们介绍使用自己的数据库查询多个手机号码,那还是建议你拥有一个自己的的手机号码数据库。正常情况下,只是满足一般查询的话,你不需要去购买专业版的手机号码数据库,增加无谓成本。我免费为你提供一个ACCESS数据库,包含17万多条数据,常用的130-139、150-159以及180-189开头手机号码段都在其中,你可以借助数据库工具轻松地将它转换成MYSQL或其它版本数据库
最新手机号码数据库下载地址:http://www.111cn.net/down/phone-number-database.rar
PHP+MYSQL手机号码归属地查询实现方法
通过上面的介绍,我们已经有了自己的MYSQL数据表。这个表结构很简单:ID(序号),code(区号),num(手机号码段),cardtype(手机卡类型),city(手机号码归属地)。注意,这个表存储数据量很大,应当根据你的sql查询语句,建立合适的索引字段,以提高查询效率。
1)获取手机号码归属地,我们只需要通过判断手机号码段归属地即可。主要通过以下函数实现,其中GetAlabNum、cn_substr、str_replace都是字符串操作函数,$dsql是数据库操作类。
代码如下 | 复制代码 |
function GetTelphone($tel) { global $city,$dsql; if(isset($tel)) $tel = GetAlabNum(trim($tel));//GetAlabNum函数用于替换全角数字,将可能存在的非法手机号码转换为数字;trim去除多余空格。 else return false; if(strlen($tel) < 7) return false; $tel = cn_substr($tel, 11);//先截取11个字符,防止是多个手机号码 //if(!is_numeric($tel)) return false; if(cn_substr($tel, 1) == "0")//判断手机号码是否以0开头,这种情况可能会是座机号以0开头 { if(cn_substr($tel, 2) == "01" || cn_substr($tel, 2) == "02") $tel = cn_substr($tel, 3);//3位区号 else $tel = cn_substr($tel, 4); $row = $dsql->GetOne(" Select code,city as dd from `#@__tel` where code='$tel' group by code "); } else { $tel = cn_substr($tel, 7); $row = $dsql->GetOne(" Select num,city as dd from `#@__tel` where num='$tel' "); } $city = $row['dd']; if($city) { $city = str_replace("省", "-", $city); $city = str_replace("市", "", $city); $city = "<br /><font color="green">[".$city."]</font>"; return $city; } } |
api实现方法,这里不需要自己的数据库但有限制了
主要使用curl实现,需要开启php对curl的支持。
代码如下 | 复制代码 |
<?php header(“Content-Type:text/html;charset=utf-8″); if (isset($_GET['number'])) { $url = ‘http://webservice.webxml.com.cn/WebServices/MobileCodeWS.asmx/getMobileCodeInfo’; $number = $_GET['number']; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, “mobileCode={$number}&userId=”); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $data = curl_exec($ch); curl_close($ch); $data = simplexml_load_string($data); if (strpos($data, ‘http://’)) { echo ‘手机号码格式错误!’; } else { echo $data; } } ?> <form action=”mobile.php” method=”get”> 手机号码: <input type=”text” name=”number” /> <input type=”submit” value=”提交” /> </form> |
与php mysql手机号码归属地查询这个会慢很多,毕竟要通过第三方法数据。
PHP+AJAX无刷新分页实现代码详解,最近在看ajax 教程,就想写个简单入门的PHP+AJAX无刷新分页,我们依据ajax开发框架代码如下 | 复制代码 |
var http_request=false; function send_request(url){//初始化,指定处理函数,发送请求的函数 http_request=false; //开始初始化XMLHttpRequest对象 if(window.XMLHttpRequest){//Mozilla浏览器 http_request=new XMLHttpRequest(); if(http_request.overrideMimeType){//设置MIME类别 http_request.overrideMimeType("text/xml"); } } else if(window.ActiveXObject){//IE浏览器 try{ http_request=new ActiveXObject("Msxml2.XMLHttp"); }catch(e){ try{ http_request=new ActiveXobject("Microsoft.XMLHttp"); }catch(e){} } } if(!http_request){//异常,创建对象实例失败 window.alert("创建XMLHttp对象失败!"); return false; } http_request.onreadystatechange=processrequest; //确定发送请求方式,URL,及是否同步执行下段代码 http_request.open("GET",url,true); http_request.send(null); } //处理返回信息的函数 function processrequest(){ if(http_request.readyState==4){//判断对象状态 if(http_request.status==200){//信息已成功返回,开始处理信息 document.getElementById(reobj).innerHTML=http_request.responseText; } else{//页面不正常 alert("您所请求的页面不正常!"); } } } function dopage(obj,url){ document.getElementById(obj).innerHTML="正在读取数据..."; send_request(url); reobj=obj; } |
内容我放在一个div中显示,当翻页动作产生时,利用AJAX更新DIV达到翻页效果这是内容显示页面代码:
代码:
代码如下 | 复制代码 |
<?php $db=mysql_connect("localhost","root","7529639"); //创建数据库连接 /* $result=mysql_query("select * from cr_userinfo"); $url='test.php';//获取本页URL //页码计算 //开始分页导航条代码: //如果只有一页则跳出函数: $pagenav.=" <a href=javascrīpt:dopage('result','$url?page=1');>首页</a> "; //假如传入的页数参数大于总页数,则显示错误信息 $info=mysql_query("select * from cr_userinfo limit $offset,$num"); //获取相应页数所需要显示的数据 ?> |
相关文章
- 这篇文章主要介绍了C#开发Windows窗体应用程序的简单操作步骤,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-04-12
- 本文通过例子,讲述了C++调用C#的DLL程序的方法,作出了以下总结,下面就让我们一起来学习吧。...2020-06-25
- 取双引号内的内容我们如果一个字符串中只有一个可以使用explode来获得,但如果有多个需要使用正则表达式来提取了,具体的例子如下。 写程序的时候总结一点经验,如何只...2016-11-25
- 本文通过两个示例讲解了一下Process类调用外部应用程序的基本用法,并简单讲解了StartInfo属性,有需要的朋友可以参考一下。...2020-06-25
- 这篇文章主要介绍了微信小程序 页面传值详解的相关资料,需要的朋友可以参考下...2017-03-13
- 大概有如下步骤 新建项目Bejs 新建文件package.json 新建文件Gruntfile.js 命令行执行grunt任务 一、新建项目Bejs源码放在src下,该目录有两个js文件,selector.js和ajax.js。编译后代码放在dest,这个grunt会...2014-06-07
- 这篇文章主要介绍了uniapp微信小程序:key失效的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-01-20
- 今天遇到一个正则匹配的问题,忽然翻到有捕获组的概念,手册上也是一略而过,百度时无意翻到C#和Java中有对正则捕获组的特殊用法,搜索关键词有PHP时竟然没有相关内容,自己试了一下,发现在PHP中也是可行的,于是总结一下,分享的同...2015-11-08
- 本文实例讲述了PHP常用的小程序代码段。分享给大家供大家参考,具体如下:1.计算两个时间的相差几天$startdate=strtotime("2009-12-09");$enddate=strtotime("2009-12-05");上面的php时间日期函数strtotime已经把字符串...2015-11-24
将c#编写的程序打包成应用程序的实现步骤分享(安装,卸载) 图文
时常会写用c#一些程序,但如何将他们和photoshop一样的大型软件打成一个压缩包,以便于发布....2020-06-25- 正则表达式是一门非常有用的并且进行模糊判断的一个功能了,我们下面来看通过正则来验证输入汉字、英语、数字,具体如下。 收藏了正则表达式。可以验证只能输入数...2016-11-25
- 这篇文章主要介绍了java正则表达式判断前端参数修改表中另一个字段的值,需要的朋友可以参考下...2021-05-07
- 常用的日期时间正则表达式 下面收藏了大量的日期时间正则匹配函数,包括分钟,时间与秒都能达到。 正则表达式 (?n:^(?=d)((?<day>31(?!(.0?[2469]|11))|30(?!.0?2)|29(...2016-11-25
- 这篇文章主要介绍了微信小程序 网络请求(GET请求)详解的相关资料,需要的朋友可以参考下...2016-11-22
- 这篇文章主要给大家介绍了关于微信小程序如何获取图片宽度与高度的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-03-10
- 这篇文章主要为大家详细介绍了微信小程序自定义tabbar组件,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-03-14
- 这篇文章主要介绍了微信小程序 二维码生成工具 weapp-qrcode详解,教大家如何在项目中引入weapp-qrcode.js文件,通过实例代码给大家介绍的非常详细,需要的朋友可以参考下...2021-10-23
- 网址规则是可寻的,所以我们可以使用正则表达式来提取字符串中的url地址了,下面一起来看看小编整理的几个PHP正则表达式匹配验证提取网址URL实例. 匹配网址 URL 的...2016-11-25
- 这篇文章主要介绍了Python爬取微信小程序通用方法代码实例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-09-29
- 这篇文章主要介绍了微信小程序(应用号)开发新闻客户端实例的相关资料,需要的朋友可以参考下...2016-10-25