可能重复:
我真的需要将 '&' 编码为 '&' 吗?
我知道 W3C 建议“使用“&”(ASCII 十进制 38)而不是“&”以避免与字符引用的开头混淆”,并且整洁的警告“未转义的 &”应该是写为 &”,但是,尽管有这些警告,写(比如)“Tiffany & Co.”是否有效?而不是更谨慎的“蒂芙尼公司”?
我知道上面的示例在我尝试过的所有浏览器中都按预期呈现(即相同),但这是语言律师的语法问题。在我看来,只要表达式不是“&blah;”的形式,它就应该是合法的。 (如果不写“
不被视为警告,而未转义的 & 则被视为警告,这一事实充分说明了 HTML 语法的不一致。事实上,如果我们要依靠解析器的智能,如果(未完成的)列表是文档的最后一部分,则省略 (例如)应该没问题:没有 ,没有 ,没有 。 ..不可能有歧义,对吧?
PS:我刚刚发现(合理的)未转义的尖括号在 tidy 中不会产生警告,但被 W3C 的validator 检测为错误,而未转义的 & 符号在两个地方都会发出警告。去算一下...
现代浏览器可以忽略错误并正确解析吗?最有可能。
但是它
是格式错误的HTML。