PHP 正規表示式:如何匹配 HTML 中的所有圖片和鏈接
Jun 23, 2023 am 11:32 AM隨著網路的普及,網頁製作和網站開發已經成為了一個需求量龐大的產業。而在網頁製作中,圖片和連結是不可或缺的元素,而正規表示式在處理這些元素時會大有用處。本文將介紹如何使用 PHP 正規表示式來匹配 HTML 中的所有圖片和連結。
一、符合圖片
在HTML 中,圖片通常使用<img>
標籤引入,其格式如下:
<img src="图片路径" alt="替代文字">
為了符合所有的圖片,我們需要匹配所有的<img>
標籤,並從中提取圖片路徑。我們可以使用以下正規表示式進行比對:
$pattern = '/<img.*?src=["']?(.*?)["'].*?>/i';
該正規表示式的作用是:
<img.*?>
:匹配<img>
開始標籤。src=["']?
:符合src
屬性。(.*?)
:使用非貪婪模式匹配圖片路徑。["'].*?>
:匹配src
屬性值之後的其他屬性,以及<img> ;
結束標籤。
下面是一個簡單的PHP 程式碼範例:
$html = '<html><body><img src="1.jpg" alt="1"><img src="2.jpg" alt="2"></body></html>'; $pattern = '/<img.*?src=["']?(.*?)["'].*?>/i'; preg_match_all($pattern, $html, $matches); $images = $matches[1]; print_r($images);
輸出結果為:
Array ( [0] => 1.jpg [1] => 2.jpg )
可以看到,我們成功配對了HTML 中的所有圖片路徑。
二、符合連結
連結也是網頁中不可或缺的元素,通常使用 <a>
標籤實作。其格式如下:
<a href="链接地址">链接文字</a>
我們需要匹配 <a>
標籤,並從中提取連結地址和連結文字。可以使用下列正規表示式進行比對:
$pattern = '/<a.*?href=["']?(.*?)["'].*?>(.*?)</a>/i';
此正規表示式的作用是:
<a.*?>
:符合<a>
開始標籤。href=["']?
:符合href
屬性。(.*?)
:使用非貪婪模式符合連結位址。["'].*?>
:符合href
屬性值之後的其他屬性。(.*?)</a>
:使用非貪婪模式來匹配連結文字和結束標籤。
下面是一個簡單的PHP 程式碼範例:
$html = '<html><body><a href="http://www.baidu.com">百度</a><a href="http://www.google.com">谷歌</a></body></html>'; $pattern = '/<a.*?href=["']?(.*?)["'].*?>(.*?)</a>/i'; preg_match_all($pattern, $html, $matches); $urls = $matches[1]; $names = $matches[2]; print_r($urls); print_r($names);
輸出結果為:
Array ( [0] => http://www.baidu.com [1] => http://www.google.com ) Array ( [0] => 百度 [1] => 谷歌 )
可以看到,我們成功配對了HTML 中的所有鏈接地址和連結文字。
三、總結
使用 PHP 正規表示式可以方便地匹配 HTML 中的圖片和鏈接,可以大大簡化我們在網頁製作和網站開發中的工作。當然,在實際開發中我們需要注意正規表示式的最佳化和錯誤處理,以確保程式的穩定性和安全性。
以上是PHP 正規表示式:如何匹配 HTML 中的所有圖片和鏈接的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱門文章

熱門文章

熱門文章標籤

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

適用於 Ubuntu 和 Debian 的 PHP 8.4 安裝和升級指南

如何設定 Visual Studio Code (VS Code) 進行 PHP 開發
