strip_tags() 是 PHP 內建的字串處理函數,用於剝離字串中的 HTML、XML 與 PHP 標籤,常用於防止 XSS 攻擊、淨化使用者輸入或提取純文字內容。本文詳細說明語法、參數、版本差異與實用範例。
string strip_tags ( string $str [, string $allowable_tags ] )
"<b><i>"),其餘標籤將被移除。<!-- ... --> 無法透過 $allowable_tags 保留。<?php
echo strip_tags("Hello <b>world!</b>");
// 輸出:Hello world!
?>
<?php
echo strip_tags("Hello <b><i>world!</i></b>", "<b>");
// 輸出:Hello <b>world!</b>
?>
<?php $html = "<div><p>段落</div>"; // 未正確閉合 echo strip_tags($html); // 輸出:段落 ?>
<b><i><u><a> 等安全標籤。htmlspecialchars() 雙重防護。$allowable_tags 不支援屬性過濾,<a href="..."> 會完整保留含屬性,若需限制屬性請改用 HTMLPurifier。strip_tags() 是快速淨化 HTML 字串的利器,掌握其保留標籤參數與版本行為差異,能在表單處理、內容匯出、安全防護等場景靈活運用。若需更精細的標籤/屬性白名單控制,建議引入 HTMLPurifier 等專業庫。