首頁  >  文章  >  後端開發  >  PHP正規表示式實戰:匹配圖片鏈接

PHP正規表示式實戰:匹配圖片鏈接

WBOY
WBOY原創
2023-06-23 08:20:371608瀏覽

在網頁開發過程中,我們經常需要從文章中提取圖片鏈接,用於展示圖片或儲存到本地。這時,正規表示式就成為了一個重要的工具。本文將介紹如何使用PHP正規表示式來匹配圖片鏈接,並透過範例程式碼進行實戰演練。

一、圖片連結的配對規則

在高度複雜、多變的網頁中,圖片連結的格式各不相同。以下是一些常見的圖片連結格式:

  1. 相對路徑格式

f2c1e9d33d026e38180fdaa6edf6d2ca

  1. #絕對路徑格式

203f1b65967aec8ac84e3c48ece3b17f

  1. #帶有class、width、height等屬性的格式

61ae07240d49718a1d70113176073298

  1. 有單引號或雙引號的格式

b682d6e1e2cf77318fe25317f252bcfe

  1. 包含不同後綴名的格式

01a74d99e188719f4abbbac9ac3abf2f
9086b68fddc20f80999dfb7d0934f895
0f8d6d0e27a2bac8ad9a4ed2b3b86ca8

根據上述格式,我們可以總結出一個通用的匹配規則,如下所示:

/d16d7b9c80d03f543fa5f641226ead7e/i

其中,正規表示式中的部分意義如下:

  • 1d0a94b69819f080670a8fe502661b4a:符合a1f02c36ba31691bcfe87b2722de723b標籤,且該標籤內可能包含其他屬性。
  • src=['"](.*?(?:gif|jpg|jpeg|bmp|png))['"]:符合src屬性值,且該屬性值必須以雙引號或單引號包裹著,同時支援多種字尾名。
  • .*?:用於匹配a1f02c36ba31691bcfe87b2722de723b標籤內其他屬性。
  • i:表示大小寫不敏感。

二、使用PHP程式碼匹配圖片連結

接下來,我們將使用PHP實現對圖片連結的匹配。

  1. 使用preg_match函數來匹配單一圖片連結

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

  1. 使用preg_match_all函數來匹配多個圖片連結

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn