参考地址 PHP正则提取字符串中所有图片,并替换!
<?php $preg = '/<img.*?src=[\"|\']?(.*?)[\"|\']*?\/?\s*>/i';//匹配img标签的正则表达式 $preg2 = '/background-image:[ ]?url\("[\'"]?(.*?\.(?:png|jpg|jpeg|gif))/i';//匹配背景的url的正则表达式 $value = '<div style="background-image: url("http://www.google.com/1.jpg?param=12&test=2")"><img src="http://www.google.com/2.jpg"></div>'; preg_match_all($preg, $value, $allImg);//这里匹配所有的img preg_match_all($preg2, $value, $allImg2);//这里匹配所有的背景img $imgList = array_merge($allImg[1],$allImg2[1]); if (empty($imgList)){ return false; } $imgList = array_unique($imgList); $newImgList = []; $flag = false; foreach ($imgList as $key=>$img_url){ echo $img_url.PHP_EOL; print_r("第{$key}张图片...".PHP_EOL); $newImgList[] = $img_url.'[更新标志]'; } print_r('所有图片循环处理完毕!'.PHP_EOL); echo str_replace($imgList,$newImgList,$value);