代码之家  ›  专栏  ›  技术社区  ›  stukelly

img标记的alt属性是否需要编码?

  •  9
  • stukelly  · 技术社区  · 15 年前

    在html中,文本是否在 img tag's alt attribute 需要编码/转义吗?

    非编码示例:

    <img src="myimg.png" alt="image description" />
    

    <img src="myimg.png" alt="image%20description" />
    
    4 回复  |  直到 15 年前
        1
  •  20
  •   JohnFx    15 年前

    不,它不需要像URI那样编码。但是,HTML字符必须进行编码,如下所示。。。

    <img src="myimg.png" alt="Me &amp; my image" />
    
        2
  •  5
  •   richardtallent    15 年前

    它们不需要URL编码,但与所有XHTML属性一样,它们需要XHTML实体编码。

    <img src="foo.gif" alt="Ben & Jerry's" />
    

    对的:

    <img src="foo.gif" alt="Ben &amp; Jerry's" />
    

    您还需要在值中对双引号进行编码,即使在一般文本中不必这样做。

    参考:

        3
  •  2
  •   John Kugelman Michael Hodel    15 年前

    不,没有。编码用于URL,如中所示 http://en.wikipedia.org/wiki/Dream%20Theater ,而 alt 字符串不是。

    您需要使用 entity-encoding 逃脱 > &gt; " &quot; 虽然请注意,这与 URI encoding 其中特殊字符编码为百分号加两个十六进制数字。

        4
  •  -1
  •   Colin Bowern    15 年前

    您应该使用HTML编码(即“变成”),而不是URL编码。如果您使用的是ASP.NET,则可以通过Server.HtmlEncode实现此目的,或者更好地使用 AntiXSS Library on CodePlex .