我正在编写自动生成HTML的代码,我希望它能正确编码.
假设我正在生成指向以下网址的链接:
http://www.google.com/search?rls=en&q=stack+overflow
Run Code Online (Sandbox Code Playgroud)
我假设所有属性值都应该是HTML编码的.(如果我错了,请纠正我.)这意味着如果我将上面的URL放入锚标签,我应该将&符编码为&,如下所示:
<a href="http://www.google.com/search?rls=en&q=stack+overflow">
Run Code Online (Sandbox Code Playgroud)
那是对的吗?
我最近(从这些 问题)了解到,在某些时候,建议在href参数中编码&符号.也就是说,而不是写:
<a href="somepage.html?x=1&y=2">...</a>
Run Code Online (Sandbox Code Playgroud)
应该写:
<a href="somepage.html?x=1&y=2">...</a>
Run Code Online (Sandbox Code Playgroud)
显然,前一个例子不起作用,但浏览器错误恢复意味着它.
我们现在已经过了严苛的XHTML要求时代.这是XHTML严格处理的要求,还是我作为Web开发人员应该注意的事实?