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+ajax 无刷新删除数据
Feb 20 PHP
初次接触php抽象工厂模式(Elgg)
Mar 21 PHP
php Smarty 字符比较代码
Feb 27 PHP
让PHP更快的提供文件下载的代码
Jun 13 PHP
PHP中nowdoc和heredoc使用需要注意的一点
Mar 21 PHP
php中的curl使用入门教程和常见用法实例
Apr 10 PHP
php常用的安全过滤函数集锦
Oct 09 PHP
php+xml编程之SimpleXML的应用实例
Jan 24 PHP
php获取当前月与上个月月初及月末时间戳的方法
Dec 05 PHP
php+mysql+jquery实现日历签到功能
Feb 27 PHP
Laravel5.7 Eloquent ORM快速入门详解
Apr 12 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
Apache环境下PHP利用HTTP缓存协议原理解析及应用分析
2010/02/16 PHP
php Smarty初体验二 获取配置信息
2011/08/08 PHP
关于初学PHP时的知识积累总结
2013/06/07 PHP
Fatal error: session_start(): Failed to initialize storage module: files问题解决方法
2014/05/04 PHP
ThinkPHP中使用ajax接收json数据的方法
2014/12/18 PHP
php中switch与ifelse的效率区别及适用情况分析
2015/02/12 PHP
PHP简单实现欧拉函数Euler功能示例
2017/11/06 PHP
Laravel5.5 动态切换多语言的操作方式
2019/10/25 PHP
让你的PHP,APACHE,NGINX支持大文件上传
2021/03/09 PHP
javaScript 读取和设置文档元素的样式属性
2009/04/14 Javascript
javascript操作cookie的文章(设置,删除cookies)
2010/04/01 Javascript
JavaScript调用Activex控件的事件的实现方法
2010/04/11 Javascript
解决IE下select标签innerHTML插入option的BUG(兼容IE,FF,Opera,Chrome,Safari)
2010/05/13 Javascript
JavaScript原型继承之基础机制分析
2011/08/26 Javascript
javascript工具库代码
2012/03/29 Javascript
javascript简单实现表格行间隔显示颜色并高亮显示
2013/11/29 Javascript
Javascript实现Web颜色值转换
2015/02/05 Javascript
JavaScript运动减速效果实例分析
2015/08/04 Javascript
node.js抓取并分析网页内容有无特殊内容的js文件
2015/11/17 Javascript
浅谈bootstrap使用中的一些问题以及解决过程
2016/10/18 Javascript
详解jQuery选择器
2016/12/21 Javascript
微信小程序开发之animation循环动画实现的让云朵飘效果
2017/07/14 Javascript
在小程序开发中使用npm的方法
2018/10/17 Javascript
webpack 如何同时输出压缩和未压缩的文件的实现步骤
2020/06/05 Javascript
Python和php通信乱码问题解决方法
2014/04/15 Python
python将字典内容存入mysql实例代码
2018/01/18 Python
自适应线性神经网络Adaline的python实现详解
2019/09/30 Python
Python日期格式和字符串格式相互转换的方法
2020/02/18 Python
PyCharm 2020.2 安装详细教程
2020/09/25 Python
numpy中生成随机数的几种常用函数(小结)
2020/08/18 Python
利用CSS3实现文字折纸效果实例代码
2018/07/10 HTML / CSS
戴尔加拿大官网:Dell加拿大
2016/09/17 全球购物
斯凯奇澳大利亚官网:SKECHERS澳大利亚
2018/03/31 全球购物
公务员培的训心得体会
2014/09/01 职场文书
关于Mybatis中SQL节点的深入解析
2022/03/19 Java/Android
js 实现验证码输入框示例详解
2022/09/23 Javascript