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程序中防止盗链
Apr 09 PHP
php查看session内容的函数
Aug 27 PHP
php xml实例 留言本
Mar 20 PHP
PHP定时自动生成静态HTML的实现代码
Jun 20 PHP
php地址引用(php地址引用的效率问题)
Mar 23 PHP
php提示Call-time pass-by-reference has been deprecated in的解决方法[已测]
May 06 PHP
php中3种方法统计字符串中每种字符的个数并排序
Aug 27 PHP
yii数据库的查询方法
Dec 28 PHP
在WordPress中实现发送http请求的相关函数解析
Dec 29 PHP
php+webSoket实现聊天室示例代码(附源码)
Feb 17 PHP
一个非常实用的php文件上传类
Jul 04 PHP
php使用mysqli和pdo扩展,测试对比mysql数据库的执行效率完整示例
May 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
mysql建立外键
2006/11/25 PHP
PHP使用CURL实现对带有验证码的网站进行模拟登录的方法
2014/07/23 PHP
php实现二进制和文本相互转换的方法
2015/04/18 PHP
ThinkPHP框架中使用Memcached缓存数据的方法
2018/03/31 PHP
新浪的图片新闻效果
2007/01/13 Javascript
javascript document.images实例
2008/05/27 Javascript
Jquery ajax不能解析json对象,报Invalid JSON错误的原因和解决方法
2010/03/27 Javascript
jQuery在vs2008及js文件中的无智能提示的解决方法
2010/12/30 Javascript
javascript中的document.open()方法使用介绍
2013/10/09 Javascript
利用JS进行图片的切换即特效展示图片
2013/12/03 Javascript
js清空form表单中的内容示例
2014/05/20 Javascript
JavaScript中5种调用函数的方法
2015/03/12 Javascript
jquery衣服颜色选取插件效果代码分享
2015/08/28 Javascript
javascript 实现文本使用省略号替代(超出固定高度的情况)
2017/02/21 Javascript
Express使用html模板的详细代码
2017/09/18 Javascript
vue配置请求本地json数据的方法
2018/04/11 Javascript
微信小程序实现左滑修改、删除功能
2020/10/19 Javascript
vue-cli3 karma单元测试的实现
2019/01/18 Javascript
vue实现点击隐藏与显示实例分享
2019/02/13 Javascript
JavaScript类型相关的常用操作总结
2019/02/14 Javascript
深入理解Vue keep-alive及实践总结
2019/08/21 Javascript
微信小程序tab切换可滑动切换导航栏跟随滚动实现代码
2019/09/04 Javascript
jQuery实现日历效果
2020/09/11 jQuery
解决Antd Table组件表头不对齐的问题
2020/10/27 Javascript
[54:02]2018DOTA2亚洲邀请赛 4.1 小组赛 B组 IG vs VGJ.T
2018/04/03 DOTA
python机器学习理论与实战(五)支持向量机
2018/01/19 Python
浅谈Python中的可迭代对象、迭代器、For循环工作机制、生成器
2019/03/11 Python
对python3 sort sorted 函数的应用详解
2019/06/27 Python
浅谈Python 参数与变量
2020/06/20 Python
利用Python如何画一颗心、小人发射爱心
2021/02/21 Python
如何使用css3实现一个类在线直播的队列动画的示例代码
2020/06/17 HTML / CSS
使用HTML5 Canvas API控制字体的显示与渲染的方法
2016/03/24 HTML / CSS
美国益智玩具购物网站:Fat Brain Toys
2017/11/03 全球购物
巴黎欧莱雅法国官网:L’Oreal Paris
2019/04/30 全球购物
学生乘坐校车安全责任书
2015/05/11 职场文书
elementui的el-popover修改样式不生效的解决
2021/06/30 Javascript