如何跳脫與還原 HTML/URL/JS 字串
別再讓多餘的引號、& 與 Unicode 弄壞頁面與 API。在 HTML、URL、JavaScript、JSON、CSV、XML 間安全轉換。

為什麼重要
把客戶評價貼進餵給網頁橫幅的 JSON 設定。評價裡多了一個 "。打包上架,首頁出現 Uncaught SyntaxError。修正很簡單——跳脫引號——但要知道哪種跳脫(HTML 實體?JSON \"?URL %22?)。此工具一次列出,不必再從論壇複製 Regex。
三個實際場景
把 <script> 變 <script>,瀏覽器顯示字面值而非執行。
無 XSS 或版面炸掉
將 name=O'Hara URL 編碼成 name=O%27Hara 再接到網址後面。
API 呼叫成功
欄位加引號並將內部引號加倍——CSV profile 會自動處理。
乾淨匯入
操作說明
開啟 文字跳脫工具。
貼上原始輸入
工具左側保留原文,右側顯示跳脫結果。
選目標格式
HTML、URL、JavaScript/JSON、CSV 或 XML。規則各異。選的是字串的目的地,不是來源。
切換跳脫/還原
已跳脫的字串要還原(例如除錯 JSON log 行)時切到還原。
複製安全字串
貼進程式碼、設定或 API 呼叫。
原始
<a href="x">Hi & welcome</a>HTML 跳脫
<a href="x">Hi & welcome</a>原始
She said "hi" on Tuesday — line break
follows.JS 跳脫
She said \"hi\"\ton Tuesday \u2014 line break\nfollows.
實用技巧
- 只在需要時跳脫。 目標是 DOM 節點的
textContent時,瀏覽器會替你跳脫。雙重跳脫是最常見 bug。 - URL 查詢請逐值編碼。 編整條 URL 會把合法的
=、&也編掉。 - JSON ≠ JavaScript。 JS 字串可用單引號 JSON 不行。選符合目的地的 JS/JSON profile。
- 往返測試: 跳脫後再還原,應得到原文。否則輸入含需先清除的控制字元。
常見陷阱
常見陷阱
雙重跳脫:出現 `&` 而不是 `&`
你對已跳脫文字再跳脫。先 還原 確認輸入是原始形態,再對目的地跳脫一次。
常見陷阱
Unicode 變成檔案裡的字面 `\u00XX`
部分下游(舊 PHP、部分 SQL driver)不懂 \uXXXX。改用 URL profile(UTF-8 百分號編碼)或在輸出時才跳脫原始 UTF-8 字串。
常見陷阱
CSV 跳脫在引號欄位裡仍有 tab
CSV 規則只加倍內部引號;tab 與換行原樣通過。若匯入器用欄數數 tab/換行,請改欄分隔符(如 ;)或每欄都加引號。
何時不適合用這套
- 要渲染允許標籤的 HTML(如部落格留言)需要完整 HTML sanitizer(如 DOMPurify),不是全面跳脫。
- SQL 參數應用驅動程式參數綁定,不是字串層跳脫。
- Shell 引數依 shell(
bashvscmd.exe)而異。用語言內建shlex等。
FAQ
encodeURI 與 encodeURIComponent 差在哪?
encodeURI 保留 URL 保留字(:、/、?)。encodeURIComponent(本工具 URL profile 預設)會編它們——適合編單一值而非整條 URL。
會保留表情符號嗎?
會。各 profile 會正確處理多位元組 UTF-8(URL 為 %F0%9F%98%80,JS 為 surrogate pair \uD83D\uDE00)。
文字會外送嗎?
不會。在本機跳脫;結果不離開瀏覽器。
下一步
- 跳脫後可用 線上文字比對 與原版 diff。
- 內嵌 JSON 可用 文字格式化 排整齊。
- 若是二進位資料而非文字,請用 Base64/Hex 編解碼。