Rumah  >  Artikel  >  pembangunan bahagian belakang  >  php如何正则表达式替换图片地址

php如何正则表达式替换图片地址

coldplay.xixi
coldplay.xixiasal
2020-08-17 10:06:333706semak imbas

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编程(视频)

Atas ialah kandungan terperinci php如何正则表达式替换图片地址. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:magento如何去掉index.phpArtikel seterusnya:php fpdf 中文乱码怎么办