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 相关文章推荐
mcrypt启用 加密以及解密过程详细解析
Aug 07 PHP
php的SimpleXML方法读写XML接口文件实例解析
Jun 16 PHP
PHP错误Warning: Cannot modify header information - headers already sent by解决方法
Sep 27 PHP
Smarty中常用变量操作符汇总
Oct 27 PHP
php实现用于计算执行时间的类实例
Apr 18 PHP
通过PHP简单实例介绍文件上传
Dec 16 PHP
解析WordPress中的post_class与get_post_class函数
Jan 04 PHP
PHP数组去重比较快的实现方式
Jan 19 PHP
Symfony2安装第三方Bundles实例详解
Feb 04 PHP
PHP连接数据库实现注册页面的增删改查操作
Mar 27 PHP
php图像处理函数imagecopyresampled用法详解
Dec 02 PHP
PHP工厂模式、单例模式与注册树模式实例详解
Jun 03 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实现以只读方式打开文件的方法
2015/03/16 PHP
详细解读PHP的Yii框架中登陆功能的实现
2015/08/21 PHP
PHP的cookie与session原理及用法详解
2019/09/27 PHP
解决表单中第一个非隐藏的元素获得焦点的一个方案
2009/10/26 Javascript
浅谈JavaScript函数参数的可修改性问题
2013/12/05 Javascript
JS控制图片翻转示例代码(兼容firefox,ie,chrome)
2013/12/19 Javascript
textarea不能通过maxlength属性来限制字数的解决方法
2014/09/01 Javascript
jquery预加载图片的方法
2015/05/27 Javascript
理解javascript模块化
2016/03/28 Javascript
Javascript类型系统之String字符串类型详解
2016/06/21 Javascript
全面解析JS字符串和正则表达式中的match、replace、exec等函数
2016/07/01 Javascript
js防阻塞加载的实现方法
2016/09/09 Javascript
Javascript es7中比较实用的两个方法示例
2017/07/21 Javascript
layer关闭当前窗口页面以及确认取消按钮的方法
2019/09/09 Javascript
Vue动态加载图片在跨域时无法显示的问题及解决方法
2020/03/10 Javascript
在vue中使用vant TreeSelect分类选择组件操作
2020/11/02 Javascript
Vue在H5 项目中使用融云进行实时个人单聊通讯
2020/12/14 Vue.js
[03:27]最受玩家喜爱奖提名:PZH_Element 致玩家寄语
2016/12/20 DOTA
Python datetime时间格式化去掉前导0
2014/07/31 Python
总结Python编程中三条常用的技巧
2015/05/11 Python
Python迭代和迭代器详解
2016/11/10 Python
Python redis操作实例分析【连接、管道、发布和订阅等】
2019/05/16 Python
基于Python函数和变量名解析
2019/07/19 Python
使用python实现滑动验证码功能
2019/08/05 Python
python获取系统内存占用信息的实例方法
2020/07/17 Python
Python制作一个仿QQ办公版的图形登录界面
2020/09/22 Python
html5指南-6.如何创建离线web应用程序实现离线访问
2013/01/07 HTML / CSS
ONLY德国官方在线商店:购买时尚女装
2017/09/21 全球购物
世界顶级足球门票网站:Live Football Tickets
2017/10/14 全球购物
C# .NET面试题
2015/11/28 面试题
效能监察建议书
2014/05/19 职场文书
电子商务求职信
2014/06/15 职场文书
关于清明节的演讲稿
2014/09/13 职场文书
入党转正介绍人意见
2015/06/03 职场文书
惊天动地观后感
2015/06/10 职场文书
Redis基于Bitmap实现用户签到功能
2021/06/20 Redis