Welcome

首页 / 网页编程 / PHP / php正则提取html图片(img)src地址与任意属性的方法

简单版:
<?phpheader("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="http://files.jb51.net/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*imgs+[^>]*?srcs*=s*("|")(.*?)\1[^>]*?/?s*>/i",$str,$match);echo $match[0];//2、取widthpreg_match("/<img.+(width="?d*"?).+>/i",$str,$match);echo $match[1];//3、取heightpreg_match("/<img.+(height="?d*"?).+>/i",$str,$match);echo $match[1];//4、取srcpreg_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地址与任意属性的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。