2010年5月4日 星期二

使用preg_match 函數取得HTML中圖片或DIV區塊方式

筆者今天遇到一個狀況,由於使用者有使用FCKEDITOR,並且於編輯時會置入一些課程圖片,但美編在設計排版的時候,有將列表頁面放上一張圖片,我就想有兩個方案:
1.在資料庫中加入上傳圖片的欄位,再努力點寫上一些上傳還有刪除的CODE;
2.是否有函數或者是JAVASCRIPT,可以找出文章中是否有HTML的圖片代碼出現,將之圖片位置取出;

於是,孤狗大神就是超好用的幫手.............就在我絕望想要執行第一個方案時,看到了那個函數.........."preg_match",我好感動.....

參考了PHP的說明,其實還不太能理解怎樣做到去取得HTML語法中的圖片,不過參考過
ANDY的BLOG後,就大概懂怎樣去運用了吧!!

不過,我取得上面的資料後,必須在稍微小小修改一下,我想要取得圖片,可是我又必須配合版面的排列,圖片必須符合版面的規定大小,因此我必須設定圖片的規格:

$string = < src= "abc.jpg">
//取得第一個img標籤,並儲存至陣列match(regex語法與上述同義)
preg_match('/src[^>]*/i', $string, $match);
print_r($match[0]);
?>


/src[^>]*/i ==>"/"需要以此符號包含起來;"src"表示HTML中圖片引用連結會用到的字串,且以src開始;"i"表示不分大小寫
由上面所得到輸出的值將是 src="/upload_file/abc.jpg"
不過,如果放在預設的標籤中,圖片將會有大有小,因此預設取出這段便是有預謀的,我們將整段輸出的圖片修改為
< img < ?print_r($match[0]); ? > height="225" width="300">

即可完成!!!

如果有用到的話,歡迎也推一下唷~~~~感謝大家~~