繁體中文

開發者工具 · HTML 實體轉義器

為什麼不帶分號的 &copy 仍然可以解碼:HTML 的遺留命名引用

· 工作原理

html 瀏覽器 API 編碼

為什麼不帶分號的 &copy 仍然可以解碼:HTML 的舊命名引用顯示為瀏覽器安全的字元引用圖
原始 ToolAcre 向量圖

HTML 解析器會解碼一小部分較舊的命名引用,即使缺少分號,因此文字中的原始 &not 或 &copy 可能會變成 Ø 或 ©。這篇文章解釋了遺留清單、最長匹配規則、屬性異常,以及為什麼轉義每個 & 符號可以避免所有這些。

頁面中出現的 Øify — 文字內容中的原始“&notify”,透過舊規則解碼為 Ø 加“ify”

頁面中出現的 Øify — 文字內容中的原始“&notify”,透過舊規則解碼為 Ø 加“ify”。瀏覽器可能會解釋散文中無分號的舊名稱,這解釋了令人驚訝的轉換,例如&notify的前綴。 ToolAcre 不會模仿該恢復行為。

若要驗證不含分號的 html 實體,請建構為開發人員顯示的 ify,該開發人員的頁面在文字表示 &notify 的位置顯示 Øify。在頁面中保存一段時間分號恢復邊界產生文字中的原始通知;識別解碼為 plus 的內容在何處被消耗。遺產對 ify 的觀察僅屬於 HTML 文字。

舊清單 — 瀏覽器必須接受的舊 HTML 4 名稱,不含分號以實現相容性

舊清單 — 舊的 HTML 4 名稱,瀏覽器必須接受不含分號的相容性。舊版接受屬於瀏覽器標記器,並因狀態而異。相反,儲存庫解碼器僅識別其 235 條目表中後面接著分號的明確名稱。

頁面顯示 Øify 且文字顯示 &notify 的開發人員可以透過在分號恢復邊界傳遞之前記錄較舊的 html 4 名稱來測試遺留清單。比較一下,瀏覽器必須隨後接受並找到負責不帶分號的解析器。這個沒有分號結果的 html 實體解釋了相容性,而不是可執行上下文。

分詞器如何匹配 — 消耗表中最長的名稱,因此 &not 在 &notify 中獲勝

分詞器如何匹配 — 使用表中最長的名稱,因此 &not 在 &notify 中獲勝。瀏覽器最長匹配行為可以在讀者期望之前消耗已知的前綴。該工具中的有界正規表示式避免了前綴猜測,因為它的匹配必須以分號結束。

隔離分詞器在短分號恢復邊界樣本中的匹配方式。將最長的名稱顯示為文字來源,按照表中的順序到達其目的地,並將 API 命名為在通知中讀取不獲勝。對於沒有分號的 html 實體,分號恢復邊界證據仍然是解析器綁定的證據。

屬性異常 - 為什麼 href 內的 &copy=2 能夠生存,但 &copy 後跟 & 或值的末端卻不能

屬性異常 - 為什麼 href 內的 &copy=2 能夠生存,但 &copy 後跟 & 或值末尾卻不能。屬性解析添加了涉及等號和字母數字跟隨者的異常。這些瀏覽器規則正是緊湊實用程式不應宣告解析器等效恢復的原因。

將屬性異常why視為邊界實驗。一位開發人員的頁面顯示 Øify,其中文字表示 &notify 應保留 an 內的副本 2,執行一個分號恢復邊界操作,並檢查 href 是否存在,但在更改之前逐個字元複製,然後是 或 。關於值結束的宣告在此 HTML 層停止。

為什麼新實體總是需要分號-在 HTML5 中標準化解析時繪製的相容性線

為什麼新實體總是需要分號-在 HTML5 中標準化解析時繪製的相容性線。在 ToolAcre 中,&copy 保持 &copy,© 變成 ©,而 &copyx 保持不變,因為不存在相符的表鍵。這有意與寬容的瀏覽器解析不同。

重現為什麼新實體總是使用無害的輸入而不是客戶材料。記錄要求分號的情況,觀察何時繪製相容線,並計算每個有意的分號恢復邊界通過的次數。沒有分號追蹤的 html 實體可以讓開發人員在其頁面顯示 Øify 文字表示的位置 &notify 評估解析在 html5 中標準化,而無需猜測。

工作範例:文字與 href 中的 &copy、©、&copyx 和 &copy=2 — 瀏覽器為每個內容呈現的內容

工作範例:文字和 href 中的 &copy、©、&copyx 和 &copy=2 — 瀏覽器為每個內容呈現的內容。新的和晦澀的名稱應始終帶有分號。該實用程式使該規則可觀察到:省略會產生未更改的文字,而不是猜測的字元或部分匹配。

將工作範例副本 copy、copyx 和副本 2 放置在文字中,並在分號恢復邊界審查期間並排放置。如果開發人員的頁面顯示了「&notify」文字,那麼開發人員就可以決定 href 是否在轉換時或下游發生了更改。對於每個超出通用安全宣告的瀏覽器呈現,保持 html 實體不帶分號結論。

這不包括什麼-完整的字元參考狀態機和錯誤復原細節

這不包括什麼-完整的字元參考狀態機和錯誤復原細節。本文不會重現完整的字元引用狀態機。它將瀏覽器遺留恢復與工具的嚴格合約區分開來,因此讀者不會推斷出不受支援的行為。

在執行分號恢復邊界之前定義它不做什麼。儲存覆蓋完整字元作為控件,檢查參考狀態機後面的程式碼點,並將錯誤復原詳細資訊對應到下一個解釋器。這使得分號恢復邊界證據對於開發人員來說是可審計的,該開發人員的頁面顯示 Øify ,其中文字表示 &notify 調查不帶分號的 html 實體。

重點:瀏覽器接受一些遺留遺漏; ToolAcre 故意需要分號

重點:瀏覽器接受一些遺留遺漏; ToolAcre 故意需要分號。在將文字插入 HTML 之前,請轉義每個文字與符號。編碼器確定性地產生,而其解碼器需要終止引用並從不承諾遺留解析。

連線外送瀏覽器接受一些可觀察的分號恢復邊界輸出。故意將遺留遺漏工具保留在一次性結果旁邊,然後驗證需要分號進入分號恢復邊界證據的位置。頁面顯示 ¬ify 且文字為 &notify 的開發人員現在可以將分號恢復邊界證據作為窄 html 實體進行審查,而無需查找分號。本文背後的實際決策是具體的:即使分號遺失,HTML 解析器也會對一小部分較舊的命名引用進行解碼,因此文字中的原始 &not 或 &copy 可以變成 Ø 或 ©。這篇文章解釋了遺留清單、最長匹配規則、屬性異常,以及為什麼轉義每個 & 符號可以避免所有這些。閱讀器操作同樣具體:連結到 HTML 實體轉義器,並示範使用查詢參數轉義 URL,使其與符號在進入 href 之前變為 &。