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=10 0 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);