php正则取img标记中alt src width heigh属性
<?php /*正则取图片img标记中的任意属性*/ $word = '<p height="22" align="cenetr">111 22</p> <img src="/upload/images/aaa.jpg" width="100" height="50"/><div style="float:left;">中国人</div>'; //取整个图片代码 preg_match('/<img(.[^<]*)src="?(.[^<"]*)"?(.[^<|/]*)/?>/is',$word,$matches); echo $matches[0];//结果:<img src="/upload/images/aaa.jpg" width="100"> $word = '<p height="22" align="cenetr">111 22</p> <img height="60" src="/upload/images/aaa.jpg" width="100" style=><div style="float:left;">中国人</div>'; //取width preg_match('/<img.+(width="?d*"?).+>/i',$word,$matches); echo $matches[1]; //取height preg_match('/<img.+(height="?d*"?).+>/i',$word,$matches); echo $matches[1]; //取src preg_match('/<img.+src="?(.+.(jpg|gif|bmp|bnp|png))"?.+>/i',$word,$matches); echo $matches[1]; /*正则替换去掉或改变图片img标记中的任意属性***************************************************************/ $str = '<p height="22" align="cenetr">111 22</p> <img height="60" src="/upload/images/aaa.jpg" width=100 style=><div style="float:left;">中国人</div><p height="22" align="cenetr">31313 224344</p> <img src="/upload/images/bbb.jpg" height="60" width=100 style=><div style="float:left;">1212121</div>'; //改变src属性(此处将原来的src="/upload/images/bbb.jpg"改变为src="/upload/_thumbs/Images/bbb.jpg") print preg_replace('/(<img.+src="?.+)(images/)(.+.(jpg|gif|bmp|bnp|png)"?.+>)/i',"${1}_thumbs/Images/${3}",$str); /*改变src属性, 此处将原来的src="/upload/images/bbb.jpg"改变为src="/upload/_thumbs/Images/bbb.jpg",并舍弃宽和高 (比如你想在前台显示缩略图,但http://www.phprm.com中存储的是原图的路径。为什么要舍弃宽高??你缩略图啊!还是原图的宽高,会怎样???) */ print preg_replace('/(<img).+(src="?.+)images/(.+.(jpg|gif|bmp|bnp|png)"?).+>/i',"${1} ${2}_thumbs/Images/${3}>",$str);
永久链接:http://www.phprm.com/code/5f00b4d5a64f70356d51944b9d49dbd7.html
转载随意!带上文章地址吧。