发布网友 发布时间:2022-04-06 04:42
共2个回答
懂视网 时间:2022-04-06 09:04
php正则表达式替换图片地址的方法:首先PHP正则提取图片img标记中的任意属性;然后提取width、height、src;最后PHP正则替换图片img标记中的任意属性。
php正则表达式替换图片地址的方法:
<?php /*PHP正则提取图片img标记中的任意属性*/ $str = '<center><img src="/uploads/images/20100516000.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、取width preg_match('/<img.+(width="?d*"?).+>/i',$str,$match); echo $match[1]; //3、取height preg_match('/<img.+(height="?d*"?).+>/i',$str,$match); echo $match[1]; //4、取src preg_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/20100516000.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/20100516000.jpg",并省去宽和高 print preg_replace('/(<img).+(src="?.+)images/(.+.(jpg|gif|bmp|bnp|png)"?).+>/i',"${1} ${2}uc/images/${3}>",$str); ?>
相关学习推荐:php编程(视频)
热心网友 时间:2022-04-06 06:12
<img height="768" width="1024" alt="" src="\/uploadfiles/(.*)\.jpg" \/>
就是这样了 !匹配的时候这样做 就只会 过滤指定文件夹下的,当然了,是会把uploadfiles所有的文件都过滤掉的。
preg_replace(正则匹配式,替换后的内容,需要处理的字符串 );