問:PHP 如何過濾 HTML 代碼?
答:在 Web 開發中,為了防止惡意用戶插入惡意代碼,需要過濾 HTML 代碼。PHP 提供了多種函數來過濾 HTML 代碼,下面介紹幾種常用的方式。
1. strip_tags() 函數
strip_tags() 函數可以過濾 HTML 標簽和 PHP 標簽,只保留指定的標簽。例如,以下代碼只保留 p 和 br 標簽:
$text = '
這是一個段落。
這是另一個段落。
';echo strip_tags($text, '
');
輸出結果為:
這是一個段落。
這是另一個段落。
lspecialchars() 函數
lspecialchars() 函數可以將 HTML 代碼中的特殊字符轉義為 HTML 實體,例如將< 轉義為 <。這樣可以防止 XSS 攻擊。例如:
$text = '';lspecialchars($text, ENT_QUOTES, 'UTF-8');
輸出結果為:
<script>alert("惡意代碼")</script>
3. filter_var() 函數
filter_var() 函數可以通過過濾器過濾變量,可以過濾 HTML 標簽、URL、郵箱等。例如,以下代碼過濾 HTML 標簽:
$text = '
這是一個段落。
這是另一個段落。
';echo filter_var($text, FILTER_SANITIZE_STRING);
輸出結果為:
這是一個段落。alert("惡意代碼")這是另一個段落。
以上是 PHP 過濾 HTML 代碼的幾種常用方式。在實際開發中,需要根據具體情況選擇適當的方式進行過濾。