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地址与任意属性的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 手把手教你使用DedeCms V3的在线采集图文教程

    手把手教你使用DedeCms V3的在线采集图文教程

    手把手教你使用DedeCms V3的在线采集图文教程...
    2007-04-04
  • 请php正则走开

    请php正则走开

    玩PHP玩了几年了,在刚刚接触PHP的时候感觉正则真的很洋气,我想替换啥就替换啥。然而随着工作的推移,渐渐对正则开发反感起来,正则的速度太慢了,而且特占内存。在一个群里有个网友说,正则速度快,正则简单,正则开发效率高。我并没有与他争辩,因为我刚刚做PHP的时候也是这样的想法。但是正则真的那么好吗?
    2008-03-03
  • 通过Email发送PHP错误的方法

    通过Email发送PHP错误的方法

    这篇文章主要介绍了通过Email发送PHP错误的方法,实例分析了php错误的读取及通过php发送Email的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07
  • php Mysql日期和时间函数集合

    php Mysql日期和时间函数集合

    本文是脚本之家小编给大家收集的比较全的Mysql日期和mysql时间函数,感兴趣的朋友跟随一起看看吧
    2007-11-11
  • 使用PHP生成二维码的方法汇总

    使用PHP生成二维码的方法汇总

    PHP生成二维码最常用的有两种,1.使用google的api生成,2.使用PHP QR Code生成,两种方法生成的二维码都是很清淅的,效果不错。下面我们就来详细看看吧。
    2015-07-07
  • php下汉字转化为拼音的代码

    php下汉字转化为拼音的代码

    能把汉字转化为拼音的一个函数很多问题都是因为中文问题造成的 如文件名最好别用中文
    2008-06-06
  • php 按指定元素值去除数组元素的实现方法

    php 按指定元素值去除数组元素的实现方法

    php 按指定元素值去除数组元素的实现方法,需要的朋友可以参考下。
    2011-11-11
  • PHP XML Expat解析器知识点总结

    PHP XML Expat解析器知识点总结

    在本文里我们给大家整理了关于PHP XML Expat解析器的相关知识点内容,需要的朋友们学习下这个吧。
    2019-02-02
  • PHP之COOKIE支持详解

    PHP之COOKIE支持详解

    建立商业站点或者功能比较完善的个人站点,常常需要记录访问者的信息,在PHP中提供了两种方便的手段:session和cookie功能.为了永久的保持用户信息,则cookie是最便捷的手段.在这里我将为大家详细的讲解cookie的功能及使用方法.
    2010-09-09
  • PHP设计模式之策略模式原理与用法实例分析

    PHP设计模式之策略模式原理与用法实例分析

    这篇文章主要介绍了PHP设计模式之策略模式原理与用法,结合实例形式较为详细的分析了策略模式的概念、原理及php实现与使用策略模式的相关操作技巧,需要的朋友可以参考下
    2019-04-04

最新评论