HTML 實體
編解碼
將保留 HTML 字元編碼為實體,或將 HTML 實體解碼為可讀文字,適用於片段、CMS 內容和範本。
HTML 實體跳脫不是完整的 XSS 清理器——只改變表示形式。處理僅在瀏覽器中執行。
命名使用 & / < / > / ";數字使用 & / < / > / "。解碼兩者都接受。跳脫不是完整的 XSS 清理。
- 輸入0
- 輸出0
- 選項命名 (&)
輸入
輸出
這個工具是什麼?
將保留字元(&、<、>、"、')編碼為 HTML 實體,或將實體解碼為可讀文字。編碼時可選擇 命名(&、<)或 數字(&、<);解碼兩者都接受。
文字、屬性、腳本、CSS、XML 規則並不相同。適合檢查片段、CMS 與訂閱源;不可信 HTML 仍需框架跳脫與可信 sanitizer。轉換僅在瀏覽器中執行。
常見用途
- 在文件或部落格中依字面顯示標記,避免被當成標籤解析
- 檢查或修復 CMS/WYSIWYG 的雙重編碼(
&amp;) - 為 RSS/Atom 等訂閱源準備需跳脫
&的標題或描述
如何使用
- 選擇 Encode 或 Decode。輸入時結果即時更新。
- Encode 時關閉 Numeric 使用命名實體,開啟則使用十進位引用。
- 貼上文字或實體。用 Sample 查看
<div>↔<div>。 - 複製輸出。僅靠實體跳脫不能當作完整 XSS 防護。
Named vs numeric
| 輸入 | 命名編碼 | 數字編碼 |
|---|---|---|
<div> | <div> | <div> |
Tom & Jerry | Tom & Jerry | Tom & Jerry |
"quote" | "quote" | "quote" |
範例
| 輸入 / 設定 | 輸出 | 說明 |
|---|---|---|
<div> → 命名 | <div> | 標記顯示為文字 |
<div> → 解碼 | <div> | 範例往返 |
Tom & Jerry → 命名 | Tom & Jerry | HTML/XML 文字中的 & |
A > B → 數字 | A > B | 解碼後與 > 相同 |
實務上常見陷阱
- 跳脫文字 ≠ 清理 HTML。屬性、
javascript:URL、SVG/腳本需要其他防護。 - CMS 往返後常見雙重編碼(
&lt;);先解碼一次再判斷是否還需一輪。 - 只跳脫五個保留字元,不會把所有 Unicode 變成實體(請用 Unicode 工具)。
參考資料
最後審閱: 2026-07-26
常見問題
- 什麼時候需要編碼 HTML 實體?
- 當文字必須在 HTML 中依字面顯示時——程式碼範例、CMS 欄位、RSS/Atom 標題或使用者片段——以免 `<`、`>`、`&` 被當成標記解析。
- 這能防止 XSS 嗎?
- 不能。它只改變文字語境下的表示形式,不是完整 HTML 清理器,也不涵蓋屬性、URL、腳本、CSS。對不可信 HTML 請使用框架跳脫與可信 sanitizer。
- 命名實體與數字實體差在哪?
- 命名如 `&`、`<`;數字(十進位)如 `&`、`<`。解碼兩者都接受;編碼時可選擇偏好樣式。
- 輸入會上傳到伺服器嗎?
- 不會。編解碼僅在瀏覽器中執行。