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 相关文章推荐
教你IIS6的PHP最佳配置方法
Sep 05 PHP
浅谈本地WAMP环境的搭建
May 13 PHP
PHP实现删除字符串中任何字符的函数
Aug 11 PHP
php反射类ReflectionClass用法分析
May 12 PHP
利用php实现一周之内自动登录存储机制(cookie、session、localStorage)
Oct 31 PHP
PHP 500报错的快速解决方法
Dec 14 PHP
Yii2使用$this-&gt;context获取当前的Module、Controller(控制器)、Action等
Mar 29 PHP
PHP实现根据数组的值进行分组的方法
Apr 20 PHP
简单谈谈PHP面向对象之标识对象
Jun 27 PHP
详解PHP字符串替换str_replace()函数四种用法
Oct 13 PHP
Laravel5.0+框架邮件发送功能实现方法图文与实例详解
Apr 23 PHP
Laravel监听数据库访问,打印SQL的例子
Oct 24 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的FTP学习(二)
2006/10/09 PHP
基于php解决json_encode中文UNICODE转码问题
2020/11/10 PHP
JS控制显示隐藏兼容问题(IE6、IE7、IE8)
2010/04/01 Javascript
jQuery之网页换肤实现代码
2011/04/30 Javascript
jQuery的slideToggle方法实例
2013/05/07 Javascript
JS控制文本框textarea输入字数限制的方法
2013/06/17 Javascript
jquery ajaxSubmit 异步提交的简单实现
2014/02/28 Javascript
详解JavaScript的流程控制语句
2015/11/30 Javascript
基于javascript实现checkbox复选框实例代码
2016/01/28 Javascript
浅析JS获取url中的参数实例代码
2016/06/14 Javascript
JS数字千分位格式化实现方法总结
2016/12/16 Javascript
JavaScript实现数组降维详解
2017/01/05 Javascript
解决vue中对象属性改变视图不更新的问题
2018/02/23 Javascript
使用Vue实现图片上传的三种方式
2018/07/17 Javascript
jQuery使用$.extend(true,object1, object2);实现深拷贝对象的方法分析
2019/03/06 jQuery
element表格翻页第2页从1开始编号(后端从0开始分页)
2019/12/10 Javascript
vue中使用vue-pdf的方法详解
2020/09/05 Javascript
[03:37]2014DOTA2国际邀请赛 主赛事第一日胜者组TOPPLAY
2014/07/19 DOTA
TensorFlow实现卷积神经网络CNN
2018/03/09 Python
基于python的图片修复程序(实现水印去除)
2018/06/04 Python
python框架中flask知识点总结
2018/08/17 Python
Python 取numpy数组的某几行某几列方法
2019/10/24 Python
python数据预处理方式 :数据降维
2020/02/24 Python
Pandas时间序列:时期(period)及其算术运算详解
2020/02/25 Python
Django操作session 的方法
2020/03/09 Python
python 如何上传包到pypi
2020/12/24 Python
将时尚融入珠宝:Adornmonde
2019/10/17 全球购物
工程现场管理求职自荐信
2013/10/02 职场文书
民生工程实施方案
2014/03/22 职场文书
监督检查工作方案
2014/05/28 职场文书
五好关工委申报材料
2014/05/31 职场文书
2014年最新党员对照检查材料汇总
2014/09/15 职场文书
晋江市人民政府党组群众路线教育实践活动整改方案
2014/10/25 职场文书
有限责任公司股东合作协议书范本
2014/10/30 职场文书
诚信承诺书
2015/01/19 职场文书
教务处干事工作总结
2015/08/14 职场文书