首頁 >後端開發 >PHP問題 >php如何正規表示式替換圖片地址

php如何正規表示式替換圖片地址

coldplay.xixi
coldplay.xixi原創
2020-08-17 10:06:333767瀏覽

php正则表达式替换图片地址的方法:首先PHP正则提取图片img标记中的任意属性;然后提取width、height、src;最后PHP正则替换图片img标记中的任意属性。

php如何正規表示式替換圖片地址

php正则表达式替换图片地址的方法:

<?php
/*PHP正则提取图片img标记中的任意属性*/
$str = &#39;<center><img src="/uploads/images/20100516000.jpg" height="120" width="120"><br />PHP正则提取或更改图片img标记中的任意属性</center>&#39;;
//1、取整个图片代码
preg_match(&#39;/<\s*img\s+[^>]*?src\s*=\s*(\&#39;|\")(.*?)\\1[^>]*?\/?\s*>/i&#39;,$str,$match);
echo $match[0];
//2、取width
preg_match(&#39;/<img.+(width=\"?\d*\"?).+>/i&#39;,$str,$match);
echo $match[1];
//3、取height
preg_match(&#39;/<img.+(height=\"?\d*\"?).+>/i&#39;,$str,$match);
echo $match[1];
//4、取src
preg_match(&#39;/<img.+src=\"?(.+\.(jpg|gif|bmp|bnp|png))\"?.+>/i&#39;,$str,$match);
echo $match[1];
/*PHP正则替换图片img标记中的任意属性*/
//1、将src="/uploads/images/20100516000.jpg"替换为src="/uploads/uc/images/20100516000.jpg")
print preg_replace(&#39;/(<img.+src=\"?.+)(images\/)(.+\.(jpg|gif|bmp|bnp|png)\"?.+>)/i&#39;,"\${1}uc/images/\${3}",$str);
echo "<hr/>";
//2、将src="/uploads/images/20100516000.jpg"替换为src="/uploads/uc/images/20100516000.jpg",并省去宽和高
print preg_replace(&#39;/(<img).+(src=\"?.+)images\/(.+\.(jpg|gif|bmp|bnp|png)\"?).+>/i&#39;,"\${1} \${2}uc/images/\${3}>",$str);
?>

相关学习推荐:php编程(视频)

以上是php如何正規表示式替換圖片地址的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn