php正则获取与修改img标记中任意属性

<?php
/*正则取图片img标记中的任意属性*/
$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”,并舍弃宽和高
(比如你想在前台显示缩略图,但数据库中存储的是原图的路径。为什么要舍弃宽高??你缩略图啊!还是原图的宽高,会怎样???)
*/
print preg_replace(‘/(<img).+(src=\”?.+)images\/(.+\.(jpg|gif|bmp|bnp|png)\”?).+>/i’,”\${1} \${2}_thumbs/Images/\${3}>”,$str);

?>

滚动至顶部