在html中,img tag's alt attribute内的文字是否需要编码/转义?
非编码示例:
<img src="myimg.png" alt="image description" />
编码示例:
<img src="myimg.png" alt="image%20description" />
答案 0 :(得分:18)
不,它不需要像URI那样编码。但是,必须对HTML字符进行编码,例如......
<img src="myimg.png" alt="Me & my image" />
答案 1 :(得分:5)
它们不需要URL编码,但它们确实需要像所有XHTML属性那样进行XHTML实体编码。
不正确:
<img src="foo.gif" alt="Ben & Jerry's" />
正确:
<img src="foo.gif" alt="Ben & Jerry's" />
您还需要在值中对双引号进行编码,即使您不必在常规文本中执行此操作。
参考:
答案 2 :(得分:2)
不,不。编码适用于http://en.wikipedia.org/wiki/Dream%20Theater中的网址,而alt
字符串不是。
但是,您需要使用entity-encoding将>
作为>
转义,将"
转换为"
。请注意,这与URI encoding不同,其中特殊字符编码为百分号加上两个十六进制数字。
答案 3 :(得分:0)
您应该使用HTML编码(即“变成”),而不是URL编码。如果您使用的是ASP.NET,则可以使用Server.HtmlEncode实现此目的,或者更好地使用AntiXSS Library on CodePlex中的HtmlAttributeEncode方法。