在網頁開發過程中,我們經常需要從文章中提取圖片鏈接,用於展示圖片或儲存到本地。這時,正規表示式就成為了一個重要的工具。本文將介紹如何使用PHP正規表示式來匹配圖片鏈接,並透過範例程式碼進行實戰演練。
一、圖片連結的配對規則
在高度複雜、多變的網頁中,圖片連結的格式各不相同。以下是一些常見的圖片連結格式:
根據上述格式,我們可以總結出一個通用的匹配規則,如下所示:
/
其中,正規表示式中的部分意義如下:
二、使用PHP程式碼匹配圖片連結
接下來,我們將使用PHP實現對圖片連結的匹配。
preg_match函數用於對單一字串執行正規表示式匹配。以下是用於匹配單一圖片連結的PHP程式碼:
<?php $str = '<img src="../images/picture.jpg" class="picture" width="100" height="100">'; $pattern = '/<img.*?src=['"](.*?(?:gif|jpg|jpeg|bmp|png))['"].*?>/i'; preg_match($pattern, $str, $matches); echo $matches[1]; ?>
上述程式碼輸出的結果為:
../images/picture.jpg
preg_match_all函數用於對一組字串執行正規表示式匹配。以下是用於匹配多個圖片連結的PHP程式碼:
<?php $str = ' <img src="../images/picture.jpg" class="picture" width="100" height="100"> <img src="http://www.example.com/images/picture.jpg"> <img src="http://www.example.com/images/picture.png"> <img src="http://www.example.com/images/picture.gif"> '; $pattern = '/<img.*?src=['"](.*?(?:gif|jpg|jpeg|bmp|png))['"].*?>/i'; preg_match_all($pattern, $str, $matches); print_r($matches[1]); ?>
上述程式碼輸出的結果為:
Array
(
[0] => ../images/picture.jpg [1] => http://www.example.com/images/picture.jpg [2] => http://www.example.com/images/picture.png [3] => http://www.example.com/images/picture.gif
)
三、總結
本文介紹瞭如何使用PHP正則表達式來匹配圖片鏈接,並提供了示例代碼進行實戰演練。在實際開發中,我們可以根據需要修改正規表示式的符合規則。同時,也可以將符合到的圖片連結用於圖片展示、下載或儲存等操作。
以上是PHP正規表示式實戰:匹配圖片鏈接的詳細內容。更多資訊請關注PHP中文網其他相關文章!