遇到壓成一行的 HTML,先保留不可改動的原文,再把一小段工作副本排成可讀層級。排版只能協助看清標籤,不能證明語法正確、畫面相同或連結安全;完成後還要回到原文做差異與實際預覽。
先固定原文與這次真正要審的範圍
最安全的起點是把原始檔留在版本控制或唯讀副本中,只複製需要閱讀的片段。不要直接覆蓋範本、郵件原始碼或正式網站檔案,否則一旦屬性、空白或文字被動到,就失去可靠的比較基準。
例如活動卡片原本是一行:<article><h2>秋季活動</h2><img src="/sale.jpg" alt="秋季活動"><p>9 月 30 日截止</p></article>。這次審查問題應先寫清楚:標題是否在文章區塊內、圖片替代文字是否存在、截止日有沒有被改、標籤順序是否符合預期。若片段含權杖、私人網址、客戶資料或尚未公開的文案,先以不影響結構的測試值取代;無法安全去識別時,改用組織核准的本機工具。
用最小片段判斷工具會排版、保留還是拒絕
HTML 格式化工具適合整理常見、結構單純的貼上文字,結果會出現在另一個輸出區,不會開啟或寫回來源檔。把上面的活動卡片副本貼入後,工具可將巢狀標籤換行並加入兩個空白的縮排,簡單文字仍留在自己的開始與結束標籤之間。
目前元件有刻意設定的安全邊界:只要片段出現 script 或 style 開始、結束標籤,就會拒絕格式化並顯示錯誤;含 pre 或 textarea 時,則會保留整段原文並顯示提示。其他含有混合行內文字、無法安全切分的尖括號或複雜語意內容,也可能原樣返回。這些結果不是工具「修好了」或「驗證通過」,而是它選擇不猜測。
若完整區塊沒有被排版,不要為了得到漂亮縮排而刪掉必要內容。先在工作副本中縮小到單一容器,再逐段加入圖片、文字與子元素,就能找出是哪種結構碰到保留規則。真正需要處理腳本、樣式、模板語法或元件框架時,應使用理解該語言的專用格式化器。
排版後比對標籤、屬性、文字與順序
格式化完成後,要驗的是資訊是否仍相同,而不是兩段字串是否完全一樣。縮排本來就會增加換行與空白,因此先逐項核對標籤名稱、開始與結束標籤、屬性和值、可見文字、元素順序,以及註解是否仍存在。
可把原始副本與排版結果貼到文字差異比對。按行模式適合看新增的換行,按字元模式能找到屬性值或標點的細微變化;但工具只會標出文字新增與刪除,不理解 DOM,也不會把純縮排差異自動判成安全。大型片段以字元模式比對可能讓分頁變慢,應先縮小範圍或改用專業 diff 工具。
比對時若發現 src、href、alt、aria-*、data-* 或可見文案不同,應停止交接,回到原文確認原因。不要因為瀏覽器仍能顯示畫面,就把屬性消失視為無害;可及性、追蹤或互動可能正依賴那些資料。
把語法驗證與畫面驗收留給正確工具
格式化器不是 HTML 驗證器,也不會執行程式碼。它沒有載入外部 CSS、解析模板變數、檢查重複 ID、測試連結、判定無障礙名稱,或比較排版前後的渲染畫面;不平衡的標籤也可能被排成看似整齊的層級。
因此,差異核對後仍要在專案原有的受控流程中驗收。靜態 HTML 可交給正式驗證器檢查語法,再在測試頁面確認桌面與窄螢幕畫面;Email 樣板要走實際寄送預覽;含模板或元件語法的內容則應由對應建置與測試流程處理。若只是暫存審查問題,可放在線上記事本的非敏感工作副本,但它是瀏覽器本機記事空間,不是版本控制或正式備份。
交接前做一次可重複的完成檢查
交接標準應能由另一位審查者重做。至少記下原始片段的位置或版本、這次抽出的範圍、格式化器的結果類型,以及後續使用哪一種驗證與預覽方式。
- 原始 HTML 仍完整保留,排版結果使用不同名稱或只存在剪貼工作區。
- 片段不含不該分享的憑證、內部網址、個資或未公開內容。
- 標籤、屬性、可見文字、註解與元素順序已逐項核對。
script、style、pre、textarea或混合內容沒有被強迫改寫。- 正式驗證器、專案測試或實際預覽已完成,而不是只看縮排。
只要其中一項無法確認,就保留原文並縮小問題範圍,不要把格式化輸出直接送進正式環境。
常見問題
HTML 格式化後就代表語法正確嗎?
不代表。工具只整理它能安全辨識的常見標籤文字,不會依 HTML 標準驗證巢狀規則、屬性、重複 ID、連結或可及性。語法仍要交給正式驗證器,畫面則要在受控頁面預覽。
為什麼含有 script 或 style 會直接出現錯誤?
因為這些區塊的內容可能包含會被一般標籤切分規則誤判的符號與語意。現有工具選擇拒絕,而不是冒險重排;需要整理時,請用理解 JavaScript、CSS 或模板語法的專用工具處理副本。
pre 或 textarea 為什麼完全沒有改變?
這兩種元素中的空白與換行可能就是內容的一部分。工具會保留整段原文並提示偵測到複雜內容,避免為了好看而改變使用者看見或輸入的文字。
ToolboxHub 會直接修改我的 HTML 檔嗎?
不會。頁面只處理貼入的文字並產生另一份結果,不會開啟、覆蓋或儲存來源檔。是否把結果寫回專案,必須由使用者在版本控制與測試流程中自行決定。
排版前後差異很多,怎麼判斷只是空白?
先用按行模式看結構,再針對可疑行改用字元模式。即使差異看似只有空白,也要確認可見文字、屬性值及 pre、textarea 等空白敏感內容,最後以驗證器與實際渲染結果收尾。