HTML 實體轉義
在文字與 HTML 實體(& < > " ')之間互轉
輸入原始文本後選擇編碼;輸入實體字符串後選擇解碼。結果僅作為文本展示,不會執行其中的 HTML。
範例
輸入
<p>A & B</p>
示例結果
<p>A & B</p>
再執行一次解碼即可還原文本;結果不會作為 HTML 執行。
技術細節與邊界
轉義按單次掃描替換,避免同一輪把新生成的 & 再次編碼。解碼支持 amp、lt、gt、quot、apos 及數字引用,不是完整的 HTML 命名實體詞典。HTML 正文、屬性、JavaScript 與 URL 的轉義規則不同,不能用本工具代替上下文相關的輸出處理。
關於此工具
將 &、<、>、雙引號和單引號轉為 HTML 實體,或還原常見實體與十進制、十六進制字符引用。用於在頁面正文、代碼示例和模板中展示原始標記;結果以純文本顯示。
適用場景
- 將使用者輸入回顯到 HTML 之前做轉義,避免 XSS。
- 在部落格 / 文件裡貼一段 HTML 程式碼作為範例。
- 把介面回傳的實體字元還原成人可讀文字。
操作步驟
- 把要處理的文字貼進輸入框。
- 按 Escape 轉義,或 Unescape 解碼。
注意事項
僅支持五種常用命名實體及數字字符引用,未覆蓋的名稱如 會原樣保留。
常見問題
- 為什麼要轉義 `&`?
- 因為 `&` 是所有 HTML 實體的開頭;不轉義會讓後續文字被誤認為實體。
- 單引號需要轉義嗎?
- 單引號包裹的 HTML 屬性需要轉義單引號。其他上下文仍有各自規則,不能將此結果直接當作安全的 JavaScript、CSS 或 URL。
- 為甚麼 &lt; 只還原成 <?
- 它經過了兩層編碼。本工具一次只還原一層,以免改變用戶本來就想保留的實體文本。
- 為甚麼多轉義一次後出現 &amp;?
- 第二次編碼會繼續轉義第一次結果中的 &,形成重復轉義。先確認輸入是原文還是已編碼文本;需要繼續處理時可把結果回填到輸入框。
相關工具