當前位置: 首頁> 最新文章列表> PHP去除HTML標籤和CSS樣式的實用方法詳解

PHP去除HTML標籤和CSS樣式的實用方法詳解

gitbox 2025-07-28

前言

在網頁開發或Web應用中,HTML和CSS是常用來設置頁面內容和样式的技術。但在某些場景下,比如數據存儲或文本展示,需要去除內容中的HTML標籤和CSS樣式以保證內容的純淨和安全。 PHP提供了多種方式實現這一功能,本文將為你詳細講解。

PHP去除HTML標籤

PHP內置的strip_tags()函數是去除HTML標籤的常用方法。

strip_tags()函數

strip_tags()函數可以接收一個字符串作為參數,默認去除所有HTML標籤,也支持指定保留的標籤。

 // 去除所有 HTML 標籤
$str = '<p>This is <b>bold</b> and this is <i>italic</i></p>';
echo strip_tags($str); // 輸出:This is bold and this is italic

// 保留 <b> 和 <i> 標籤
$str = '<p>This is <b>bold</b> and this is <i>italic</i></p>';
echo strip_tags($str, '<b><i>'); // 輸出:This is <b>bold</b> and this is <i>italic</i>

htmlspecialchars()函數

htmlspecialchars()函數用於將特殊字符轉換成HTML實體,避免瀏覽器解析為標籤,從而防止XSS攻擊。

 $str = 'This is <b>bold</b> and this is <i>italic</i>';
echo htmlspecialchars($str); // 輸出:This is <b>bold</b> and this is <i>italic</i>

PHP去除CSS樣式

去除CSS樣式常見方法有使用正則表達式或借助第三方庫。

使用正則表達式

可以用正則匹配並移除HTML標籤中的style屬性。

 // 使用正則表達式去除 style 屬性
$str = '<p style="color: red; font-size: 12px;">This is a paragraph</p>';
$str = preg_replace('/ style="[^"]*"/', '', $str);
echo $str; // 輸出:<p>This is a paragraph</p>

使用第三方庫

HTMLPurifier是一個功能強大的庫,能有效清理HTML代碼中的多餘樣式,保證代碼安全和規範。

 require_once '/path/to/library/HTMLPurifier.auto.php';
$config = HTMLPurifier_Config::createDefault();
$purifier = new HTMLPurifier($config);
$str = '<p style="color: red; font-size: 12px;">This is a paragraph</p>';
echo $purifier->purify($str); // 輸出:<p>This is a paragraph</p>

總結

PHP中去除HTML標籤主要依賴strip_tags()函數,而去除CSS樣式則可以通過正則表達式或第三方庫實現。根據實際需求選擇合適的方法,能有效提升數據安全性和展示效果。