单独写“&”是无效的HTML吗?为什么? [重复]

问题描述 投票:0回答:1

可能重复:
我真的需要将 '&' 编码为 '&' 吗?

我知道 W3C 建议“使用“&”(ASCII 十进制 38)而不是“&”以避免与字符引用的开头混淆”,并且整洁的警告“未转义的 &”应该是写为 &”,但是,尽管有这些警告,写(比如)“Tiffany & Co.”是否有效?而不是更谨慎的“蒂芙尼公司”?

我知道上面的示例在我尝试过的所有浏览器中都按预期呈现(即相同),但这是语言律师的语法问题。在我看来,只要表达式不是“&blah;”的形式,它就应该是合法的。 (如果不写“”,则与使用尖括号相同。)

顺便说一句,跳过

不被视为警告,而未转义的 & 则被视为警告,这一事实充分说明了 HTML 语法的不一致。事实上,如果我们要依靠解析器的智能,如果(未完成的)列表是文档的最后一部分,则省略 (例如)应该没问题:没有 ,没有 ,没有 。 ..不可能有歧义,对吧?

PS:我刚刚发现(合理的)未转义的尖括号在 tidy 中不会产生警告,但被 W3C 的

validator 检测为错误,而未转义的 & 符号在两个地方都会发出警告。去算一下...

html standards w3c-validation
1个回答
4
投票
无效?是的。 HTML 标记内的自由 & 符号将导致解析器错误。

现代浏览器可以忽略错误并正确解析吗?最有可能。

但是它

格式错误的HTML。

© www.soinside.com 2019 - 2024. All rights reserved.