在html中,img tag's alt attribute中的文本是否需要編碼/轉義?img標籤的alt屬性是否需要編碼?
非編碼例如:
<img src="myimg.png" alt="image description" />
編碼例如:
<img src="myimg.png" alt="image%20description" />
在html中,img tag's alt attribute中的文本是否需要編碼/轉義?img標籤的alt屬性是否需要編碼?
非編碼例如:
<img src="myimg.png" alt="image description" />
編碼例如:
<img src="myimg.png" alt="image%20description" />
不,它不需要像URI一樣編碼。然而,HTML字符必須編碼,這樣的...
<img src="myimg.png" alt="Me & my image" />
不,它不需要。編碼用於http://en.wikipedia.org/wiki/Dream%20Theater中的URL,其中alt
字符串不是。
您將需要使用entity-encoding逃脫>
爲>
,並且"
爲"
,雖然。請注意,這與URI encoding不同,其中特殊字符被編碼爲百分號加兩個十六進制數字。
他們並不需要URL編碼的,但他們確實需要,因爲所有的XHTML屬性做的,XHTML實體編碼。
錯誤:
<img src="foo.gif" alt="Ben & Jerry's" />
正確:
<img src="foo.gif" alt="Ben & Jerry's" />
您還需要值內進行編碼,雙引號,即使你沒有做,在一般的文本。
參考:
您應該使用HTML編碼(即「成爲"),而不是URL編碼如果你正在使用ASP.NET你可以用Server.HtmlEncode實現這一目標或者更好地使用AntiXSS Library on CodePlex中的HtmlAttributeEncode方法
將「should」替換爲「must」 - 至少如果您想通過驗證器 – kdgregory 2009-07-22 14:26:40