因有一項目新聞發布系統,資料庫內容欄位中儲存的是原圖的路徑(當然還有其他文字內容啦,內容裡插圖時,存的是圖片路徑),但前台想使用縮圖,琢磨1小時餘,得到以下結果,可解決問題(取img標籤會了,取別的標籤任意屬性自然也會了):
複製代碼 代碼如下:
/*正則取圖片img標記中的任意屬性*/
$word = '
111 22
中國人';
//取整個圖片代碼
preg_match('/]*?src/s*=/s*(/'|/")(.*?)//1[^>]*?//?/s*>/i',$word,$matches);
echo $matches[0];//結果:
$word = '
111 22
中國人';
//取width
preg_match('//i',$word,$matches);
echo $matches[1];
//取height
preg_match('//i',$word,$matches);
echo $matches[1];
//取src
preg_match('//i',$word,$matches);
echo $matches[1];
/*正則替換去掉或改變圖片img標記中的任意屬性***************************************************************/
$str = '
111 22
中國人
31313 224344
1212121';
//改變src屬性(此處將原來的src="http://files.bitsCN.com/upload/images/bbb.jpg"改變為src="http://files.bitsCN.com/upload/_thumbs/Images/bbb.jpg")
print preg_replace('/()/i',"/${1}_thumbs/Images//${3}",$str);
/*改變src屬性,
此處將原來的src="http://files.bitsCN.com/upload/images/bbb.jpg"改變為src="http://files.bitsCN.com/upload/_thumbs/Images/bbb.jpg",並捨棄寬和高
(比如你想在前台顯示縮圖,但資料庫中儲存的是原圖的路徑。為什麼要捨棄寬高??你縮圖啊!還是原圖的寬高,會怎樣???)
*/
print preg_replace('/(/i',"/${1} /${2}_thumbs/Images//${3}>",$str);
?>