猿问

我在<a href...>中编码&符号吗?

我在<a href...>中编码&符号吗?

我正在编写自动生成HTML的代码,我希望它能正确编码。

假设我正在生成指向以下网址的链接:

http://www.google.com/search?rls=en&q=stack+overflow

我假设所有属性值都应该是HTML编码的。(如果我错了,请纠正我。)这意味着如果我将上面的URL放入锚标签,我应该将&符编码为&amp;,如下所示:

<a href="http://www.google.com/search?rls=en&amp;q=stack+overflow">

那是对的吗?


富国沪深
浏览 628回答 3
3回答

梦里花落0921

根据当前的官方HTML建议,必须对&符号进行转义,例如&amp;像这样的上下文。但是,浏览器不需要它,HTML5 CR建议将此作为规则,以便特殊规则适用于属性值。当前的HTML5验证器在这方面已经过时(请参阅带有注释的错误报告)。仍然可以在属性值中转义&符号,但除了使用当前工具进行验证之外,没有实际需要在href值中转义它们(如果您开始转义它们,则存在发生错误的小风险)。

哆啦的时光机

是的,你应该转换&为&amp;。W3C的这个html验证工具对这样的问题很有帮助。它会告诉您特定页面的错误和警告。
随时随地看视频慕课网APP
我要回答