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执行速度全攻略
Oct 09 PHP
php 数组的指针操作实现代码
Feb 08 PHP
详解PHP内置访问资源的超时时间 time_out file_get_contents read_file
Jun 03 PHP
eAccelerator的安装与使用详解
Jun 13 PHP
浅析PHP substr,mb_substr以及mb_strcut的区别和用法
Jun 21 PHP
php数组合并的二种方法
Mar 21 PHP
Laravel 4 初级教程之安装及入门
Oct 30 PHP
PHP实现操作redis的封装类完整实例
Nov 14 PHP
PHP+HTML+JavaScript+Css实现简单爬虫开发
Mar 28 PHP
php使用curl代理实现抓取数据的方法
Feb 03 PHP
Laravel如何友好的修改.env配置文件详解
Jun 07 PHP
PHP对称加密算法(DES/AES)类的实现代码
Nov 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
destoon网站转移服务器后搜索汉字出现乱码的解决方法
2014/06/21 PHP
php页面缓存方法小结
2015/01/10 PHP
ThinkPHP的常用配置选项汇总
2016/03/24 PHP
ThinkPHP框架搭建及常见问题(XAMPP安装失败、Apache/MySQL启动失败)
2016/04/15 PHP
在laravel中实现ORM模型使用第二个数据库设置
2019/10/24 PHP
php 多继承的几种常见实现方法示例
2019/11/18 PHP
PHP7创建销毁session的实例方法
2020/02/03 PHP
33个优秀的 jQuery 图片展示插件分享
2012/03/14 Javascript
用JavaScript实现PHP的urlencode与urldecode函数
2015/08/13 Javascript
JavaScript基础知识之方法汇总结
2016/01/24 Javascript
Bootstrap基本插件学习笔记之Alert警告框(20)
2016/12/08 Javascript
大白话讲解JavaScript的Promise
2017/04/06 Javascript
xmlplus组件设计系列之列表(4)
2017/04/26 Javascript
vue router-link传参以及参数的使用实例
2017/11/10 Javascript
vue实现简单loading进度条
2018/06/06 Javascript
javascript面向对象三大特征之封装实例详解
2019/07/24 Javascript
CountUp.js实现数字滚动增值效果
2019/10/17 Javascript
jQuery弹框插件使用方法详解
2020/05/26 jQuery
vue.js 输入框输入值自动过滤特殊字符替换中问标点操作
2020/08/31 Javascript
[05:31]DOTA2英雄梦之声_第04期_光之守卫
2014/06/23 DOTA
python中使用OpenCV进行人脸检测的例子
2014/04/18 Python
Python使用PyGreSQL操作PostgreSQL数据库教程
2014/07/30 Python
pytorch 数据集图片显示方法
2018/07/26 Python
详解python之heapq模块及排序操作
2019/04/04 Python
与Django结合利用模型对上传图片预测的实例详解
2019/08/07 Python
40个你可能不知道的Python技巧附代码
2020/01/29 Python
利用Python计算KS的实例详解
2020/03/03 Python
python 使用raw socket进行TCP SYN扫描实例
2020/05/05 Python
保安员岗位职责
2013/11/17 职场文书
致全体运动员广播稿
2014/02/01 职场文书
讲文明知礼仪演讲稿
2014/09/13 职场文书
销售区域经理岗位职责
2015/04/10 职场文书
服装区域经理岗位职责
2015/04/10 职场文书
公司文体活动总结
2015/05/07 职场文书
交通安全学习心得体会
2016/01/18 职场文书
php随机生成验证码,php随机生成数字,php随机生成数字加字母!
2021/04/01 PHP