若想尋找 HTML Cleaner API 的替代方案,可以使用 HTML Cleaner 作為以瀏覽器為基礎的工具,而非程式化 API;它可透過 DOMParser 將貼上的 HTML 標準化,並可選擇移除註解節點,全程無須上傳輸入內容。
因此,當使用者需要檢查經瀏覽器標準化的主體標記,或在手動清理流程中移除註解時,這項工具會很實用。它並未提供 HTTP 端點、SDK、JSON 回應結構描述或具文件記載的批次介面,因此無法直接取代由應用程式碼呼叫的清理 API。
重要的差別在於,HTML Cleaner 是標準化與格式輔助工具,而不是安全清理工具。它可以顯示瀏覽器解析器產生的內容,但當複製的結果插入可執行目的地時,仍具作用力的標記依然會保持作用。

依需求選擇合適的工具
請依據 HTML 解析後必須完成的作業來選擇工作流程:
| 需求 | 最適合的工具 | 原因 |
|---|---|---|
| 檢查經瀏覽器標準化的主體標記 | HTML Cleaner | 它會解析貼上的 HTML,並以文字形式顯示序列化後的主體結果。 |
| 從已解析的其他內容中移除註解 | HTML Cleaner | 移除註解是它唯一可選擇的刪除規則。 |
| 從應用程式碼呼叫清理工具 | 持續維護的 API 或程式庫 | HTML Cleaner 提供的是貼上並檢視的工作流程,而非程式化介面。 |
| 讓不受信任的 HTML 可安全發布 | aware 目的地清理工具 | 它不會移除指令碼、事件處理器、URL、框架或其他仍具作用力的標記。 |
| 保留完整的頁面框架 | 具文件感知能力的編輯器 | HTML Cleaner 只會回傳主體內容。 |
因此,相較於 API,實際可用的替代方案是採用瀏覽器基礎且由人參與的處理步驟。這能減少將貼上的內容傳送至遠端清理服務的需求,同時讓整合、安全性與完整文件需求交由專為這些用途設計的工具處理。
標準化並檢查貼上的 HTML
當目標是查看瀏覽器解析出的結構,再決定應如何處理標記時,請使用此工作流程:
- 貼上來源 HTML。 在輸入區域中接受 HTML 片段或完整文件。原始輸入會在解析前先經檢查,因此內容過大時會直接失敗,而不會只處理部分內容。
- 選擇註解政策。 只有在目的地不需要 HTML 註解時,才啟用移除註解。停用此選項時,已解析的註解節點會保留在結果中。
- 將標記標準化。 執行正規化工具,以 text/html 模式透過 DOMParser 解析輸入。寬容的瀏覽器解析器會修正許多格式錯誤的結構,而不是直接拒絕它們。
- 檢查輸出與統計資料。 查看完整且僅含主體的文字結果,以及回報的註解移除數量。內容不會以即時頁面形式呈現,因此必須將輸出視為序列化來源來檢查。
- 評估目的地。 判斷結果是否會進入即時頁面、CMS 欄位、電子郵件範本或其他可能讓標記變得具作用力的情境。如果來源不受信任,發布前請使用針對該目的地設定且持續維護的清理工具。
- 做出該決定後再複製。 當完整標準化結果適合預定用途時,再複製它。如果剪貼簿存取遭拒,仍可使用完整的唯讀輸出進行手動選取。
變更來源或切換註解選項時,會清除先前的結果、錯誤、統計資料與複製狀態。這可避免將過時的標準化結果誤認為目前輸入的結果。
查看瀏覽器解析如何改變標記
HTML 標準化遵循瀏覽器的樹狀結構建構規則,而不是嚴格的 XML 解析。視輸入內容而定,解析器可能會將元素名稱轉為小寫、為屬性加上引號、插入隱含元素(例如 tbody)、修正部分缺少的結束標籤,並將標記重新排列成其復原後的文件結構。
這項行為使該工具適合用來查看瀏覽器如何解讀不完美的 HTML,也解釋了為何格式錯誤的輸入通常會產生輸出,而不是驗證錯誤。復原後的結構反映解析器規則,但這並不能證明結果符合作者的原意。
回傳的文字是從已解析文件主體的 innerHTML 序列化而來。它不是傳統的美化印表工具:HTML Cleaner 並不保證縮排、換行、屬性排序、保留來源空白,或在每個瀏覽器版本間維持位元組完全一致。pre、textarea、script 與 style 元素內的文字遵循 HTML 解析規則,而不是經過另一套詞法格式化處理。
請將輸出用於檢查瀏覽器解析情況,而不是用來證明符合標準、一致美化來源、精簡標記或保留完整文件。
比較移除註解與保留內容
註解設定只控制一項特定轉換。其他所有內容都遵循已解析的 DOM,並維持在僅含主體的輸出範圍內。
| 內容 | 啟用移除註解 | 停用移除註解 |
|---|---|---|
| HTML 註解節點 | 從已解析的主體中移除,包括巢狀範本片段中的註解 | 保留 |
| 指令碼與事件處理器屬性 | 保留 | 保留 |
| 樣式、表單、iframe、SVG 與 MathML | 保留 | 保留 |
| URL、data 屬性、ID、class 與未知元素 | 保留,且不重寫政策 | 保留,且不重寫政策 |
| Doctype 與僅位於 head 的中繼資料 | 在主體序列化範圍之外 | 在主體序列化範圍之外 |
它沒有允許清單、內容政策、URL 綱要重寫或仍具作用力標記的過濾功能。因此,啟用移除註解的意思是「移除 Comment 節點」,而不是「移除任何可能危險的內容」。
保護執行邊界
DOMParser 會建立一個停用指令碼功能的獨立文件,而介面會將序列化結果保留在唯讀文字區域中。它絕不會將標記插入可見頁面、建立即時預覽或執行已解析文件中找到的指令碼。
仍然存在與網路相關的邊界。當 DOMParser 建置其獨立文件時,瀏覽器可能會下載 iframe 或 img 元素所參照的資源。如果這些要求可能向其他主機揭露資訊,請避免貼上含有遠端資源 URL 的敏感 HTML。
MDN 的 DOMParser.parseFromString 文件說明了停用指令碼的行為與可能發生的資源下載。同樣地,MDN 的 Element.innerHTML 參考資料描述了片段序列化,以及將不受信任的標記插入具作用力文件中的危險性。
一旦複製的結果進入 innerHTML、CMS 或電子郵件範本,保留的行為便可能在該目的地變得具作用力。請針對不受信任的內容使用持續維護的清理工具,並針對特定情境(例如瀏覽器 DOM 或電子郵件算繪器)加以設定。
尊重主體範圍與輸入限制
完整的輸入文件可能包含 doctype、html 與 head 元素、中繼資料、樣式和主體。回傳的標記只包含已解析主體的子內容。除非解析器依其復原規則將特定 token 移入主體,否則 doctype、文件框架,以及僅位於 head 的 title、meta、link 或 style 元素都會刻意排除。
如果必須保留完整的頁面結構,請使用具文件感知能力的編輯器。僅含主體的範圍是一項刻意的序列化選擇,並不能證明原始輸入中存在文件框架。
原始輸入上限為 500,000 個 UTF-16 程式碼單位,並會在解析前檢查。完整標準化輸出上限為 1,000,000 個程式碼單位,並在顯示結果前進行測量。精確的邊界值會被接受;超過邊界一個單位以上的值會以明確訊息失敗。不會切割、取樣、部分序列化任何內容,也不會在未告知的情況下套用不同的清理政策。解析或移除註解後的空主體,也是有效的零長度結果。
在編輯、重試或卸載元件後,剪貼簿完成操作會受到保護,以免使用過時的回應。這表示複製狀態會反映目前的生成結果,而當剪貼簿權限遭拒時,完整輸出仍可用於手動複製。
選擇合適的 API 交接方式
當所需結果是經瀏覽器標準化、可供人員檢查,且可選擇不含註解的主體結果時,請使用 HTML Cleaner。當處理的特定素材很重要,必須避免上傳時,它也很適合使用。
工作流程的其他部分請採用個別策略:
- 當另一個應用程式必須以程式化方式呼叫清理工具或消耗結構化回應時,請使用真正的 API 或程式庫。
- 只要來源不受信任,或結果將進入可執行情境,請加入 aware 目的地的清理工具。
- 當必須保留 doctype、head 中繼資料或外層文件框架時,請使用具文件感知能力的編輯器。
- 若需要跨瀏覽器完全一致的位元組身分或傳統美化格式,請將標準化結果視為檢查用產物。
- 請將清理工具保留在瀏覽器工作流程內,不要將它描述為伺服器端清理服務。
因此,對此搜尋查詢的直接答案是有限度的答案:HTML Cleaner 是以瀏覽器為基礎、無須上傳,可用於互動式 HTML 標準化與移除註解的替代方案,但它不是可直接替換的 API,也不能取代安全清理。它的最受支援工作流程是:貼上內容、選擇註解行為、進行標準化、檢查僅含主體的文字與數量、決定目的地的安全性,然後再複製。
相關閱讀:如何在 HTML 與 CSS 中線上編輯文字。