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和ACCESS写聊天室(五)
Oct 09 PHP
PHP原理之异常机制深入分析
Aug 08 PHP
PHP中删除变量时unset()和null的区别分析
Jan 27 PHP
php记录日志的实现代码
Aug 08 PHP
pdo中使用参数化查询sql
Aug 11 PHP
php实现URL加密解密的方法
Nov 17 PHP
如何打开php的gd2库
Feb 09 PHP
Thinkphp实现站点静态化的方法详解
Mar 21 PHP
ThinkPHP5框架实现简单的批量查询功能示例
Jun 07 PHP
Laravel框架使用monolog_mysql实现将系统日志信息保存到mysql数据库的方法
Aug 16 PHP
php用xpath解析html的代码实例讲解
Feb 14 PHP
thinkPHP和onethink微信支付插件分享
Aug 11 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
全国FM电台频率大全 - 1 北京市
2020/03/11 无线电
php使用mb_check_encoding检查字符串在指定的编码里是否有效
2013/11/07 PHP
Thinkphp通过一个入口文件如何区分移动端和PC端
2017/04/18 PHP
PHP实现Redis单据锁以及防止并发重复写入
2018/04/10 PHP
window.name代替cookie的实现代码
2010/11/28 Javascript
基于jquery的button默认enter事件(回车事件)。
2011/05/18 Javascript
jQuery控制图片的hover效果(smartRollover.js)
2012/03/18 Javascript
JavaScript获取flash对象与网上的有所不同
2014/04/21 Javascript
jQuery 自定义下拉框(DropDown)附源码下载
2016/07/22 Javascript
JS制作适用于手机和电脑的通知信息效果
2016/10/28 Javascript
详解微信小程序开发—你期待的分享功能来了,微信小程序序新增5大功能
2016/12/23 Javascript
详解Vue.use自定义自己的全局组件
2017/06/14 Javascript
学习JS中的DOM节点以及操作
2018/04/30 Javascript
JavaScript数组基于交换的排序示例【冒泡排序】
2018/07/21 Javascript
JS加密插件CryptoJS实现AES加密操作示例
2018/08/16 Javascript
微信小程序学习笔记之文件上传、下载操作图文详解
2019/03/29 Javascript
Vue3.0结合bootstrap创建多页面应用
2019/05/28 Javascript
vue cli安装使用less的教程详解
2019/07/12 Javascript
Vue数据驱动表单渲染,轻松搞定form表单
2019/07/19 Javascript
JavaScript Canvas编写炫彩的网页时钟
2019/10/16 Javascript
vue实现扫码功能
2020/01/17 Javascript
electron踩坑之remote of undefined的解决
2020/10/06 Javascript
全面理解Python中self的用法
2016/06/04 Python
python利用smtplib实现QQ邮箱发送邮件
2020/05/20 Python
python 3.3 下载固定链接文件并保存的方法
2018/12/18 Python
python实现列表的排序方法分享
2019/07/01 Python
Python 经典算法100及解析(小结)
2019/09/13 Python
python 遗传算法求函数极值的实现代码
2020/02/11 Python
CSS3实现跳动的动画效果
2016/09/12 HTML / CSS
银行会计业务的个人自我评价
2013/11/02 职场文书
员工考核评语大全
2014/04/26 职场文书
2015元旦标语横幅
2014/12/09 职场文书
中学教师个人总结
2015/02/10 职场文书
2015初中生物教研组工作总结
2015/07/21 职场文书
Mysql中一千万条数据怎么快速查询
2021/12/06 MySQL
sql时间段切分实现每隔x分钟出一份高速门架车流量
2022/02/28 SQL Server