2014/05/02

HTML 超連結特殊字元的 escape

測試 HTML parser 時,某段 HTML 一直被標記有誤,花了不少時間才找到原因。

在 W3 HTML spec 中有註明,「&」符號剛好用來作為 HTML entity 的起始字元,遇到該字元需要 escape。

舉例來說,有個超連結帶有參數:

<a href="search.php?val=keyword&category=3">search</a>

URL 中的「&」符號應該改為「&amp;」:

<a href="search.php?val=keyword&amp;category=3">search</a>

現今瀏覽器都很聰明,會自動辨識並修正人為錯誤,但既然有規範,還是注意一下。



為了找到 W3 HTML spec 中與這個問題有關的章節,實在吃了不少苦頭。後來發現 Firefox addon - Html Validator 可以偵測錯誤,並告知可以參考的 W3 spec 章節:



沒有留言:

張貼留言