简单版:
<?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://www.ailab.com.cn/uploadfile/2017/0220/20170220035107111.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地址与任意属性的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。