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 相关文章推荐
Windows2003 下 MySQL 数据库每天自动备份
Dec 21 PHP
paypal即时到账php实现代码
Nov 28 PHP
解析php中session的实现原理以及大网站应用应注意的问题
Jun 17 PHP
解析php中array_merge与array+array的区别
Jun 21 PHP
php递归函数中使用return的注意事项
Jan 17 PHP
php的hash算法介绍
Feb 13 PHP
PHP实现取得HTTP请求的原文
Aug 18 PHP
PHP防盗链的基本思想 防盗链的设置方法
Sep 25 PHP
CI映射(加载)数据到view层的方法
Mar 28 PHP
PHP递归实现层级树状展开
Apr 01 PHP
Smarty日期时间操作方法示例
Nov 15 PHP
在php7中MongoDB实现模糊查询的方法详解
May 03 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
php 连接mysql连接被重置的解决方法
2011/02/15 PHP
PHP面向对象之旅:深入理解static变量与方法
2014/01/06 PHP
PHP中auto_prepend_file与auto_append_file用法实例分析
2014/09/22 PHP
PHP实现JS中escape与unescape的方法
2016/07/11 PHP
PHP实现的Redis多库选择功能单例类
2017/07/27 PHP
php框架CodeIgniter使用redis的方法分析
2018/04/13 PHP
在线游戏大家来找茬II
2006/09/30 Javascript
Jquery 常用方法经典总结
2010/01/28 Javascript
基于JQuery实现相同内容合并单元格的代码
2011/01/12 Javascript
jquery中ajax学习笔记3
2011/10/16 Javascript
一个页面放2段图片滚动代码出现冲突的问题如何解决
2012/12/21 Javascript
js实现对table的增加行和删除行的操作方法
2016/10/13 Javascript
JQuery实现列表中复选框全选反选功能封装(推荐)
2016/11/24 Javascript
javascript定时器取消定时器及优化方法
2017/07/08 Javascript
Mobile Web开发基础之四--处理手机设备的横竖屏问题
2017/08/11 Javascript
JavaScript正则表达式的贪婪匹配和非贪婪匹配
2017/09/05 Javascript
详解javascript常用工具类的封装
2018/01/30 Javascript
如何为你的JS项目添加智能提示与类型检查详解
2019/03/12 Javascript
javascript设计模式 ? 模板方法模式原理与用法实例分析
2020/04/23 Javascript
[02:26]2018DOTA2亚洲邀请赛赛前采访-Newbee篇
2018/04/03 DOTA
python使用PyFetion来发送短信的例子
2014/04/22 Python
Python的Flask框架的简介和安装方法
2015/11/13 Python
python使用Tkinter实现在线音乐播放器
2018/01/30 Python
Pycharm简单使用教程(入门小结)
2019/07/04 Python
Python math库 ln(x)运算的实现及原理
2019/07/17 Python
详解pandas中MultiIndex和对象实际索引不一致问题
2019/07/23 Python
利用python下载scihub成文献为PDF操作
2020/07/09 Python
Python使用eval函数执行动态标表达式过程详解
2020/10/17 Python
Python 爬取淘宝商品信息栏目的实现
2021/02/06 Python
美国领先的家庭智能音响系统品牌:Sonos
2018/07/20 全球购物
SheIn沙特阿拉伯:女装在线
2020/03/23 全球购物
“四风”问题自我剖析材料思想汇报
2014/09/23 职场文书
小学中队活动总结
2015/05/11 职场文书
2015年小学体育工作总结
2015/05/22 职场文书
如何写好开幕词?
2019/06/24 职场文书
《烈火英雄》观后感:致敬和平时代的英雄
2019/11/11 职场文书