我正在使用一个 '&
我的网站中带有 HTML5 和 UTF-8 的 ' 符号<title>
。谷歌在其上显示了&符号罚款SERPs https://en.wikipedia.org/wiki/Search_engine_results_page,就像所有浏览器的标题一样。
http://validator.w3.org http://validator.w3.org给了我这个:
& 没有开始字符引用。 (&可能应该被转义为&
.)
我真的需要做吗&
?
我并不担心我的页面为了验证而验证,但我很想听听人们对此的看法,以及它是否重要以及为什么。
是的。正如错误所述,在 HTML 中,属性是 #PCDATA 意味着它们已被解析。这意味着您可以在属性中使用字符实体。使用&
本身就是错误的,如果不是宽松的浏览器,而且这是 HTML 而不是 XHTML,就会破坏解析。只是逃避它&
一切都会好起来的。
HTML5 允许您将其保留为不转义,但前提是后面的数据看起来不像有效的字符引用。然而,最好转义该符号的所有实例,而不是担心哪些应该是、哪些不需要。
记住这一点;如果您没有将 & 转义为 &,对于您创建的数据来说已经够糟糕了(其中代码很可能无效),您也可能没有转义标签分隔符,这对于用户提交的数据来说是一个巨大的问题,这很可能导致 HTML 和脚本注入、cookie 窃取和其他漏洞利用。
请转义您的代码。以后会省去很多麻烦。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)