php正则提取html图片(img)src地址与任意属性的方法


Posted in PHP onFebruary 08, 2017

简单版:

<?php
header("Content-Type: text/html;charset=utf-8");

$str = '<div class="ui-block-a" align="center">
    <a href="online-39.html" rel="external nofollow" ><img class="lazy" width="131" height="177" src="//img.jbzj.com/file_images/game/201702/2017020716154162.jpg"/>
    <h3>2014年</h3></a>
   </div>';

$imgpreg = "/<img (.*?) src=\"(.+?)\".*?>/";
preg_match($imgpreg,$str,$img);
$mycount=count($img)-1;
 $imgval = $iim[$mycount];
if(!empty($imgval)){
  echo $imgval;
}else{
  echo 'no';
}
?>

详细版:

<?php
/*PHP正则提取图片img标记中的任意属性*/
$str = '<center><img src="/uploads/images/2017020716154162.jpg" height="120" width="120"><br />PHP正则提取或更改图片img标记中的任意属性</center>';

//1、取整个图片代码
preg_match('/<\s*img\s+[^>]*?src\s*=\s*(\'|\")(.*?)\\1[^>]*?\/?\s*>/i',$str,$match);
echo $match[0];

//2、取width
preg_match('/<img.+(width=\"?\d*\"?).+>/i',$str,$match);
echo $match[1];

//3、取height
preg_match('/<img.+(height=\"?\d*\"?).+>/i',$str,$match);
echo $match[1];

//4、取src
preg_match('/<img.+src=\"?(.+\.(jpg|gif|bmp|bnp|png))\"?.+>/i',$str,$match);
echo $match[1];

/*PHP正则替换图片img标记中的任意属性*/
//1、将src="/uploads/images/20100516000.jpg"替换为src="/uploads/uc/images/2017020716154162.jpg")
print preg_replace('/(<img.+src=\"?.+)(images\/)(.+\.(jpg|gif|bmp|bnp|png)\"?.+>)/i',"\${1}uc/images/\${3}",$str);
echo "<hr/>";

//2、将src="/uploads/images/20100516000.jpg"替换为src="/uploads/uc/images/2017020716154162.jpg",并省去宽和高
print preg_replace('/(<img).+(src=\"?.+)images\/(.+\.(jpg|gif|bmp|bnp|png)\"?).+>/i',"\${1} \${2}uc/images/\${3}>",$str);
?>

以上这篇php正则提取html图片(img)src地址与任意属性的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
十天学会php之第六天
Oct 09 PHP
发挥语言的威力--融合PHP与ASP
Oct 09 PHP
PHP仿博客园 个人博客(1) 数据库与界面设计
Jul 05 PHP
php教程之魔术方法的使用示例(php魔术函数)
Feb 12 PHP
php通过正则表达式记取数据来读取xml的方法
Mar 09 PHP
php实现网站文件批量压缩下载功能
Oct 28 PHP
ThinkPHP5实现作业管理系统中处理学生未交作业与已交作业信息的方法
Nov 12 PHP
PHP对象实例化单例方法
Jan 19 PHP
PHP基于SMTP协议实现邮件发送实例代码
Apr 27 PHP
php实现和c#一致的DES加密解密实例
Jul 24 PHP
php工具型代码之印章抠图
Jul 18 PHP
laravel 获取当前url的别名方法
Oct 11 PHP
PHP正则匹配反斜杠'\'和美元'$'的方法
Feb 08 #PHP
php利用嵌套数组拼接与解析json的方法
Feb 07 #PHP
php获取文件名称和扩展名的方法
Feb 07 #PHP
php 常用的系统函数
Feb 07 #PHP
thinkphp修改配置进入默认首页的方法
Feb 07 #PHP
Yii2学习笔记之汉化yii设置表单的描述(属性标签attributeLabels)
Feb 07 #PHP
PHP封装的多文件上传类实例与用法详解
Feb 07 #PHP
You might like
thinkphp中连接oracle时封装方法无法用的解决办法
2013/06/17 PHP
PHPMailer的主要功能特点和简单使用说明
2014/02/17 PHP
在SAE上搭建最新wordpress的方法
2014/12/21 PHP
Smarty实现页面静态化(生成HTML)的方法
2016/05/23 PHP
HR vs CL BO3 第一场 2.13
2021/03/10 DOTA
JavaScript实现网页上的浮动广告的简单方法
2013/06/14 Javascript
javascript中对Attr(dom中属性)的操作示例讲解
2013/12/02 Javascript
JavaScript把数组作为堆栈使用的方法
2015/03/20 Javascript
jquery实现的Accordion折叠面板效果代码
2015/09/02 Javascript
js+css实现超简洁的二级下拉菜单效果代码
2015/09/07 Javascript
基于BootStarp的Dailog
2016/04/28 Javascript
SVG描边动画
2017/02/23 Javascript
jQuery animate()实现背景色渐变效果的处理方法【使用jQuery.color.js插件】
2017/03/15 Javascript
深入理解Vue.js轻量高效的前端组件化方案
2018/12/10 Javascript
解决LayUI数据表格复选框不居中显示的问题
2019/09/25 Javascript
IDEA安装vue插件图文详解
2019/09/26 Javascript
基于JS实现table导出Excel并保留样式
2020/05/19 Javascript
js实现浏览器打印功能的示例代码
2020/07/15 Javascript
[04:10]DOTA2英雄梦之声_第11期_圣堂刺客
2014/06/21 DOTA
[03:01]2014DOTA2国际邀请赛 DC:我是核弹粉,为Burning和国土祝福
2014/07/13 DOTA
wxPython事件驱动实例详解
2014/09/28 Python
Python通过DOM和SAX方式解析XML的应用实例分享
2015/11/16 Python
python实现kMeans算法
2017/12/21 Python
django小技巧之html模板中调用对象属性或对象的方法
2018/11/30 Python
详解numpy矩阵的创建与数据类型
2019/10/18 Python
pytorch AvgPool2d函数使用详解
2020/01/03 Python
如何给Python代码进行加密
2020/01/10 Python
Python开发之身份证验证库id_validator验证身份证号合法性及根据身份证号返回住址年龄等信息
2020/03/20 Python
python让函数不返回结果的方法
2020/06/22 Python
目前不被任何主流浏览器支持的CSS3属性汇总
2014/07/21 HTML / CSS
深入研究HTML5实现图片压缩上传功能
2016/03/25 HTML / CSS
学校卫生检查制度
2014/02/03 职场文书
《小儿垂钓》教学反思
2014/02/23 职场文书
难忘的一天教学反思
2014/04/30 职场文书
说明书格式及范文
2014/05/07 职场文书
认错检讨书
2014/10/02 职场文书