開發者工具 · HTML 實體轉義器
為什麼不帶分號的 © 仍然可以解碼:HTML 的遺留命名引用
· 工作原理
html 瀏覽器 API 編碼
HTML 解析器會解碼一小部分較舊的命名引用,即使缺少分號,因此文字中的原始 ¬ 或 © 可能會變成 Ø 或 ©。這篇文章解釋了遺留清單、最長匹配規則、屬性異常,以及為什麼轉義每個 & 符號可以避免所有這些。
頁面中出現的 Øify — 文字內容中的原始“¬ify”,透過舊規則解碼為 Ø 加“ify”
頁面中出現的 Øify — 文字內容中的原始“¬ify”,透過舊規則解碼為 Ø 加“ify”。瀏覽器可能會解釋散文中無分號的舊名稱,這解釋了令人驚訝的轉換,例如&notify的前綴。 ToolAcre 不會模仿該恢復行為。
若要驗證不含分號的 html 實體,請建構為開發人員顯示的 ify,該開發人員的頁面在文字表示 ¬ify 的位置顯示 Øify。在頁面中保存一段時間分號恢復邊界產生文字中的原始通知;識別解碼為 plus 的內容在何處被消耗。遺產對 ify 的觀察僅屬於 HTML 文字。
舊清單 — 瀏覽器必須接受的舊 HTML 4 名稱,不含分號以實現相容性
舊清單 — 舊的 HTML 4 名稱,瀏覽器必須接受不含分號的相容性。舊版接受屬於瀏覽器標記器,並因狀態而異。相反,儲存庫解碼器僅識別其 235 條目表中後面接著分號的明確名稱。
頁面顯示 Øify 且文字顯示 ¬ify 的開發人員可以透過在分號恢復邊界傳遞之前記錄較舊的 html 4 名稱來測試遺留清單。比較一下,瀏覽器必須隨後接受並找到負責不帶分號的解析器。這個沒有分號結果的 html 實體解釋了相容性,而不是可執行上下文。
分詞器如何匹配 — 消耗表中最長的名稱,因此 ¬ 在 ¬ify 中獲勝
分詞器如何匹配 — 使用表中最長的名稱,因此 ¬ 在 ¬ify 中獲勝。瀏覽器最長匹配行為可以在讀者期望之前消耗已知的前綴。該工具中的有界正規表示式避免了前綴猜測,因為它的匹配必須以分號結束。
隔離分詞器在短分號恢復邊界樣本中的匹配方式。將最長的名稱顯示為文字來源,按照表中的順序到達其目的地,並將 API 命名為在通知中讀取不獲勝。對於沒有分號的 html 實體,分號恢復邊界證據仍然是解析器綁定的證據。
屬性異常 - 為什麼 href 內的 ©=2 能夠生存,但 © 後跟 & 或值的末端卻不能
屬性異常 - 為什麼 href 內的 ©=2 能夠生存,但 © 後跟 & 或值末尾卻不能。屬性解析添加了涉及等號和字母數字跟隨者的異常。這些瀏覽器規則正是緊湊實用程式不應宣告解析器等效恢復的原因。
將屬性異常why視為邊界實驗。一位開發人員的頁面顯示 Øify,其中文字表示 ¬ify 應保留 an 內的副本 2,執行一個分號恢復邊界操作,並檢查 href 是否存在,但在更改之前逐個字元複製,然後是 或 。關於值結束的宣告在此 HTML 層停止。
為什麼新實體總是需要分號-在 HTML5 中標準化解析時繪製的相容性線
為什麼新實體總是需要分號-在 HTML5 中標準化解析時繪製的相容性線。在 ToolAcre 中,© 保持 ©,© 變成 ©,而 ©x 保持不變,因為不存在相符的表鍵。這有意與寬容的瀏覽器解析不同。
重現為什麼新實體總是使用無害的輸入而不是客戶材料。記錄要求分號的情況,觀察何時繪製相容線,並計算每個有意的分號恢復邊界通過的次數。沒有分號追蹤的 html 實體可以讓開發人員在其頁面顯示 Øify 文字表示的位置 ¬ify 評估解析在 html5 中標準化,而無需猜測。
工作範例:文字與 href 中的 ©、©、©x 和 ©=2 — 瀏覽器為每個內容呈現的內容
工作範例:文字和 href 中的 ©、©、©x 和 ©=2 — 瀏覽器為每個內容呈現的內容。新的和晦澀的名稱應始終帶有分號。該實用程式使該規則可觀察到:省略會產生未更改的文字,而不是猜測的字元或部分匹配。
將工作範例副本 copy、copyx 和副本 2 放置在文字中,並在分號恢復邊界審查期間並排放置。如果開發人員的頁面顯示了「¬ify」文字,那麼開發人員就可以決定 href 是否在轉換時或下游發生了更改。對於每個超出通用安全宣告的瀏覽器呈現,保持 html 實體不帶分號結論。
這不包括什麼-完整的字元參考狀態機和錯誤復原細節
這不包括什麼-完整的字元參考狀態機和錯誤復原細節。本文不會重現完整的字元引用狀態機。它將瀏覽器遺留恢復與工具的嚴格合約區分開來,因此讀者不會推斷出不受支援的行為。
在執行分號恢復邊界之前定義它不做什麼。儲存覆蓋完整字元作為控件,檢查參考狀態機後面的程式碼點,並將錯誤復原詳細資訊對應到下一個解釋器。這使得分號恢復邊界證據對於開發人員來說是可審計的,該開發人員的頁面顯示 Øify ,其中文字表示 ¬ify 調查不帶分號的 html 實體。
重點:瀏覽器接受一些遺留遺漏; ToolAcre 故意需要分號
重點:瀏覽器接受一些遺留遺漏; ToolAcre 故意需要分號。在將文字插入 HTML 之前,請轉義每個文字與符號。編碼器確定性地產生,而其解碼器需要終止引用並從不承諾遺留解析。
連線外送瀏覽器接受一些可觀察的分號恢復邊界輸出。故意將遺留遺漏工具保留在一次性結果旁邊,然後驗證需要分號進入分號恢復邊界證據的位置。頁面顯示 ¬ify 且文字為 ¬ify 的開發人員現在可以將分號恢復邊界證據作為窄 html 實體進行審查,而無需查找分號。本文背後的實際決策是具體的:即使分號遺失,HTML 解析器也會對一小部分較舊的命名引用進行解碼,因此文字中的原始 ¬ 或 © 可以變成 Ø 或 ©。這篇文章解釋了遺留清單、最長匹配規則、屬性異常,以及為什麼轉義每個 & 符號可以避免所有這些。閱讀器操作同樣具體:連結到 HTML 實體轉義器,並示範使用查詢參數轉義 URL,使其與符號在進入 href 之前變為 &。