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 相关文章推荐
桌面中心(三)修改数据库
Oct 09 PHP
php的header和asp中的redirect比较
Oct 09 PHP
Windows下IIS6/Apache2.2.4+MySQL5.2+PHP5.2.1安装配置方法
May 03 PHP
PHP统计目录下的文件总数及代码行数(去除注释及空行)
Jan 17 PHP
从康盛产品(discuz)提取出来的模板类
Jun 28 PHP
PHP教程之PHP中shell脚本的使用方法分享
Feb 23 PHP
header导出Excel应用示例
Jan 24 PHP
PHP文件上传判断file是否己选择上传文件的方法
Nov 10 PHP
php实现无限级分类查询(递归、非递归)
Mar 10 PHP
php制作简单模版引擎
Apr 07 PHP
php语言注释,单行注释和多行注释
Jan 21 PHP
在laravel5.2中实现点击用户头像更改头像的方法
Oct 14 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生成指定随机字符串的简单实现方法
2015/04/01 PHP
学习php设计模式 php实现原型模式(prototype)
2015/12/07 PHP
Zend Framework教程之响应对象的封装Zend_Controller_Response实例详解
2016/03/07 PHP
Yii控制器中操作视图js的方法
2016/07/04 PHP
用Javascript同时提交多个Web表单的方法
2009/12/26 Javascript
event对象获取方法总结在google浏览器下测试
2013/11/03 Javascript
js判断横竖屏及禁止浏览器滑动条示例
2014/04/29 Javascript
详解用webpack把我们的业务模块分开打包的方法
2017/07/20 Javascript
js实现会跳动的日历效果(完整实例)
2017/10/18 Javascript
Vue.js在数组中插入重复数据的实现代码
2017/11/17 Javascript
Vue精简版风格概述
2018/01/30 Javascript
vue-router 源码实现前端路由的两种方式
2018/07/02 Javascript
如何在vue里添加好看的lottie动画
2018/08/02 Javascript
如何在 JavaScript 中更好地利用数组
2018/09/27 Javascript
vue基础之使用get、post、jsonp实现交互功能示例
2019/03/12 Javascript
Python中lambda的用法及其与def的区别解析
2014/07/28 Python
python实现汉诺塔方法汇总
2016/07/25 Python
Python字符串处理实例详解
2017/05/18 Python
Python3实现对列表按元组指定列进行排序的方法分析
2018/12/22 Python
使用keras实现BiLSTM+CNN+CRF文字标记NER
2020/06/29 Python
Python rabbitMQ如何实现生产消费者模式
2020/08/24 Python
Python Socket多线程并发原理及实现
2020/12/11 Python
基于Html5实现的语音搜索功能
2019/05/13 HTML / CSS
澳大利亚女性快速时尚零售商:Ally Fashion
2018/04/25 全球购物
英国家电购物网站:Sonic Direct
2019/03/26 全球购物
中科方德软件测试面试题
2016/04/21 面试题
易程科技软件测试笔试
2013/03/24 面试题
发展部经理职责规定
2014/02/22 职场文书
环卫工作汇报材料
2014/10/28 职场文书
酒店财务经理岗位职责
2015/04/08 职场文书
创业计划书之香辣虾火锅
2019/09/23 职场文书
高考要来啦!用Python爬取历年高考数据并分析
2021/06/03 Python
OpenCV-Python实现轮廓的特征值
2021/06/09 Python
python入门学习关于for else的特殊特性讲解
2021/11/20 Python
2007年老电脑安装win11会怎么样? 网友实测win11在老电脑运行良好
2021/11/21 数码科技
win10电脑关机快捷键是哪个 win10快速关机的几种方法
2022/08/14 数码科技