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修改Linux或Unix口令的方法分享
Jan 30 PHP
php抓取页面的几种方法详解
Jun 17 PHP
JoshChen_php新手进阶高手不可或缺的规范介绍
Aug 16 PHP
单点登录 Ucenter示例分析
Oct 29 PHP
PHP关于htmlspecialchars、strip_tags、addslashes的解释
Jul 04 PHP
PHP大转盘中奖概率算法实例
Oct 21 PHP
php使用glob函数快速查询指定目录文件的方法
Nov 15 PHP
PHP中把对象数组转换成普通数组的方法
Jul 10 PHP
在WordPress中安装使用视频播放器插件Hana Flv Player
Jan 04 PHP
PHP培训要多少钱
Jun 06 PHP
PHP实现深度优先搜索算法(DFS,Depth First Search)详解
Sep 16 PHP
浅析PHP7 的垃圾回收机制
Sep 06 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
索趣科技的答案
2007/02/07 Javascript
基于jquery的15款幻灯片插件
2011/04/10 Javascript
javascript 日期时间 转换的方法
2013/02/21 Javascript
jQuery 1.9使用$.support替代$.browser的使用方法
2014/05/27 Javascript
深入理解javascript构造函数和原型对象
2014/09/23 Javascript
Javascript基础教程之数据类型转换
2015/01/18 Javascript
Node.js事件循环(Event Loop)和线程池详解
2015/01/28 Javascript
jQuery Easyui学习教程之实现datagrid在没有数据时显示相关提示内容
2016/07/09 Javascript
Node.js学习入门
2017/01/03 Javascript
vue-cli+webpack在生成的项目中使用bootstrap实例代码
2017/05/26 Javascript
ligerUI---ListBox(列表框可移动的实例)
2017/11/28 Javascript
使用JavaScript中的lodash编写双色球效果
2018/06/24 Javascript
详解keep-alive + vuex 让缓存的页面灵活起来
2019/04/19 Javascript
jquery+css实现Tab栏切换的代码实例
2019/05/14 jQuery
vue组件中实现嵌套子组件案例
2020/08/31 Javascript
微信小程序实现购物车小功能
2020/12/30 Javascript
在Python中操作字典之setdefault()方法的使用
2015/05/21 Python
Python与人工神经网络:使用神经网络识别手写图像介绍
2017/12/19 Python
python中的不可变数据类型与可变数据类型详解
2018/09/16 Python
Python 单元测试(unittest)的使用小结
2018/11/14 Python
对Python中画图时候的线类型详解
2019/07/07 Python
简单了解python 邮件模块的使用方法
2019/07/24 Python
PyTorch中的Variable变量详解
2020/01/07 Python
Python socket连接中的粘包、精确传输问题实例分析
2020/03/24 Python
在echarts中图例legend和坐标系grid实现左右布局实例
2020/05/16 Python
python实现按键精灵找色点击功能教程,使用pywin32和Pillow库
2020/06/04 Python
使用OpenCV实现道路车辆计数的使用方法
2020/07/15 Python
CSS代码检查工具stylelint的使用方法详解
2021/03/27 HTML / CSS
超市重阳节活动方案
2014/02/10 职场文书
继承公证书样本
2014/04/04 职场文书
群众路线查摆问题整改措施
2014/10/10 职场文书
2015医德医风个人工作总结
2015/04/02 职场文书
检讨书格式
2015/05/07 职场文书
详解Redis集群搭建的三种方式
2021/05/31 Redis
健身房被搭讪?用python写了个小米计时器助人为乐
2021/06/08 Python
Win11 Build 22000.51版本文件资源管理器“命令栏”和上下文菜单有什么新变化?
2021/11/21 数码科技