php正则提取html图片(img)src地址与任意属性的方法

 更新时间:2017年02月08日 09:32:07   投稿:jingxian  
下面小编就为大家带来一篇php正则提取html图片(img)src地址与任意属性的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

简单版:

<?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的Yii框架中View视图的使用进阶

    PHP的Yii框架中View视图的使用进阶

    这篇文章主要介绍了PHP的Yii框架中View视图的使用进阶,包括布局和数据块的创建使用等,需要的朋友可以参考下
    2016-03-03
  • PHP通过get方法获得form表单数据方法总结

    PHP通过get方法获得form表单数据方法总结

    这篇文章我们给大家介绍了PHP如何通过get的方式来得到获取form表单数据的方法,有需要的朋友们参考下。
    2018-09-09
  • PHP标准类(stdclass)用法示例

    PHP标准类(stdclass)用法示例

    这篇文章主要介绍了PHP标准类(stdclass)用法,结合实例形式分析了php内置标准类的原理与使用方法,需要的朋友可以参考下
    2016-09-09
  • 两款万能的php分页类

    两款万能的php分页类

    这篇文章主要介绍了万能的php分页类,特别好用,需要使用php分页类的朋友不要错过。
    2015-11-11
  • php获取一定范围内取N个不重复的随机数

    php获取一定范围内取N个不重复的随机数

    这篇文章主要介绍了php获取一定范围内取N个不重复的随机数的方法,通过range函数创建指定范围内数组及shuffle进行数组随机排序,并使用array_slice抽取数组实现该功能,非常简单实用,需要的朋友可以参考下
    2016-05-05
  • 解析php做推送服务端实现ios消息推送

    解析php做推送服务端实现ios消息推送

    本篇文章是对php做推送服务端实现ios消息推送的方法进行了详细的分析介绍,需要的朋友参考下
    2013-07-07
  • 用php简单实现加减乘除计算器

    用php简单实现加减乘除计算器

    加减乘除计算器想必大家都有使用过吧,本文为大家介绍下使用php如何实现,下面有个不错的示例,感兴趣的朋友可以参考下
    2014-01-01
  • 详解Swoole跟传统的web开发的区别

    详解Swoole跟传统的web开发的区别

    Swoole高效跟传统的web开发有什么区别,除了传统的LAMP/LNMP同步开发模式,swoole的异步开发模式是怎么样的。本文带着大家来详细介绍一下。
    2021-05-05
  • php中让人头疼的浮点数运算分析

    php中让人头疼的浮点数运算分析

    这篇文章主要介绍了php中让人头疼的浮点数运算,结合实例形式分析了php针对浮点数运算round函数的使用方法,需要的朋友可以参考下
    2016-10-10
  • php导出生成word的方法

    php导出生成word的方法

    这篇文章主要介绍了php导出生成word的方法,结合实例形式分析了php查询数据库及导出生成word文档的具体步骤与相关技巧,需要的朋友可以参考下
    2015-12-12

最新评论