2

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

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

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

顺便说一句,跳过 </li> 并不被视为警告,而未转义的 & 则说明了 HTML 语法的不一致。事实上,如果我们要依赖解析器的智能,如果(未完成的)列表是文档的最后一部分,则省略 </ul>(例如)应该没问题:没有 </ul>,没有</body>,没有</html>...不可能有歧义,对吧?

PS:我刚刚发现(明智的)未转义的尖括号整齐地不会产生警告,但被 W3C 的验证器检测为错误,而未转义的 & 号在两个地方都会发出警告。去搞清楚...

4

1 回答 1

4

无效的?是的。HTML 标记中的自由 & 符号将导致解析器错误。

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

但它格式错误的 HTML。

于 2010-09-25T12:24:40.747 回答