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 相关文章推荐
MySQL修改密码方法总结
Mar 25 PHP
PHP EOT定界符的使用详解
Sep 30 PHP
PHP MySQL应用中使用XOR运算加密算法分享
Aug 28 PHP
PHP实现图片压缩的两则实例
Jul 19 PHP
PHP实现的简单三角形、矩形周长面积计算器分享
Nov 18 PHP
PHP判断一个gif图片是否为动态图片的方法
Nov 19 PHP
php自定义hash函数实例
May 05 PHP
Yii视图CGridView实现操作按钮定义地址示例
Jul 14 PHP
golang与PHP输出excel示例
Jul 22 PHP
php简单实现多维数组排序的方法
Sep 30 PHP
基于PHP的加载类操作以及其他两种魔术方法的应用实例
Aug 28 PHP
PHP连续签到功能实现方法详解
Dec 04 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 array的学习笔记
2012/05/10 PHP
json的键名为数字时的调用方式(示例代码)
2013/11/15 PHP
php顺序查找和二分查找示例
2014/03/27 PHP
PHP执行Curl时报错提示CURL ERROR: Recv failure: Connection reset by peer的解决方法
2014/06/26 PHP
PHP curl使用实例
2015/07/02 PHP
PHP QRCODE生成彩色二维码的方法
2016/05/19 PHP
php使用str_replace替换多维数组的实现方法分析
2017/06/15 PHP
PHP实现生成推广海报的方法详解
2018/03/14 PHP
List the Codec Files on a Computer
2007/06/11 Javascript
页面调用单个swf文件,嵌套出多个方法。
2011/11/21 Javascript
自定义函数实现IE7与IE8不兼容js中trim函数的问题
2015/02/03 Javascript
简要了解jQuery移动web开发的响应式布局设计
2015/12/04 Javascript
js将滚动条滚动到指定位置的简单实现方法
2016/06/25 Javascript
全面了解JavaScript的数据类型转换
2016/07/01 Javascript
对比分析Django的Q查询及AngularJS的Datatables分页插件
2017/02/07 Javascript
详解vue项目首页加载速度优化
2017/10/18 Javascript
基于three.js编写的一个项目类示例代码
2018/01/05 Javascript
JS中Object对象的原型概念基础
2018/01/29 Javascript
Vue中的混入的使用(vue mixins)
2018/06/01 Javascript
浅析Vue 生命周期
2018/06/21 Javascript
js/jQuery实现全选效果
2019/06/17 jQuery
JavaScript 引用类型实例详解【数组、对象、严格模式等】
2020/05/13 Javascript
js中延迟加载和预加载的具体使用
2021/01/14 Javascript
[43:03]完美世界DOTA2联赛PWL S2 PXG vs Magma 第二场 11.21
2020/11/24 DOTA
Django Form 实时从数据库中获取数据的操作方法
2019/07/25 Python
tensorflow的计算图总结
2020/01/12 Python
Python中socket网络通信是干嘛的
2020/05/27 Python
如何在mac版pycharm选择python版本
2020/07/21 Python
弄清Pytorch显存的分配机制
2020/12/10 Python
HashMap和Hashtable的区别
2013/05/18 面试题
自荐书模板
2013/12/15 职场文书
运动会广播稿20字
2014/02/18 职场文书
人力资源管理专业自荐信
2014/06/24 职场文书
2014年国庆标语
2014/06/30 职场文书
2019年“我为祖国点赞”演讲稿(3篇)
2019/09/26 职场文书
windows安装 redis 6.2.6最新步骤详解
2022/04/26 Redis