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 模板高级篇总结
Dec 21 PHP
浅谈PHP 闭包特性在实际应用中的问题
Oct 30 PHP
php 数组排序 array_multisort与uasort的区别
Mar 24 PHP
php实现rc4加密算法代码
Apr 25 PHP
解决cPanel无法安装php5.2.17
Jun 22 PHP
取得单条网站评论以数组形式进行输出
Jul 28 PHP
php+mysql数据库实现无限分类的方法
Dec 12 PHP
ThinkPHP连接Oracle数据库
Apr 22 PHP
yii 2.0中表单小部件的使用方法示例
May 23 PHP
golang实现php里的serialize()和unserialize()序列和反序列方法详解
Oct 30 PHP
PHP 对象继承原理与简单用法示例
Apr 21 PHP
HTTP头隐藏PHP版本号实现过程解析
Dec 09 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中break及continue两个流程控制指令区别分析
2011/04/18 PHP
解密ThinkPHP3.1.2版本之模块和操作映射
2014/06/19 PHP
thinkPHP中多维数组的遍历方法
2016/01/09 PHP
PHP使用微信开发模式实现搜索已发送图文及匹配关键字回复的方法
2017/09/13 PHP
php中访问修饰符的知识点总结
2019/01/27 PHP
javascript setTimeout和setInterval 的区别
2009/12/08 Javascript
超级酷和最实用的jQuery实例收集(20个)
2010/04/21 Javascript
jquery自定义函数的多种方法
2014/01/09 Javascript
原生js实现中奖信息无间隙滚动效果
2017/01/18 Javascript
js学习总结_轮播图之渐隐渐现版(实例讲解)
2017/07/17 Javascript
ES6 系列之 Generator 的自动执行的方法示例
2018/10/19 Javascript
Vue唯一可以更改vuex实例中state数据状态的属性对象Mutation的讲解
2019/01/18 Javascript
jQuery实现的隔行变色功能【案例】
2019/02/18 jQuery
基于jQuery的时间戳与日期间的转化
2019/06/21 jQuery
vue+eslint+vscode配置教程
2019/08/09 Javascript
bootstrapValidator表单校验、更改状态、新增、移除校验字段的实例代码
2020/05/19 Javascript
JavaScript canvas实现雨滴特效
2021/01/10 Javascript
[33:42]LGD vs OG 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
CentOS下使用yum安装python-pip失败的完美解决方法
2017/08/16 Python
Python实现随机生成手机号及正则验证手机号的方法
2018/04/25 Python
浅谈tensorflow中Dataset图片的批量读取及维度的操作详解
2020/01/20 Python
django使用F方法更新一个对象多个对象字段的实现
2020/03/28 Python
python实现四人制扑克牌游戏
2020/04/22 Python
win10从零安装配置pytorch全过程图文详解
2020/05/08 Python
python如何安装下载后的模块
2020/07/03 Python
HTML5梦幻之旅——炫丽的流星雨效果实现过程
2013/08/06 HTML / CSS
使用canvas绘制贝塞尔曲线
2014/12/17 HTML / CSS
军训自我鉴定
2013/12/14 职场文书
国贸专业个人求职信范文
2014/01/08 职场文书
酒鬼酒广告词
2014/03/21 职场文书
讲文明懂礼貌演讲稿
2014/09/11 职场文书
群众路线教育实践活动思想汇报(2014特荐篇)
2014/09/16 职场文书
作文评语集锦
2014/12/25 职场文书
护士医德考评自我评价
2015/03/03 职场文书
2015年教师节活动总结
2015/03/20 职场文书
python文件目录操作之os模块
2021/05/08 Python