2011-10-06 49 views
4

刚刚意识到HTML符号,如:HTML符号魔术

& 

也将被浏览器识别的无

; 

我有,因为这个问题:

&current 

被替换与

¤t 

你能澄清 - 为什么?

+0

你在哪里看到'&curren'正在用'¤'更换? '[no-repro]'也许你实际上键入了'¤ t'(呈现为't')或'&current;'(呈现为't;')。 –

+1

@Matt - 不,这是现代浏览器中的标准化行为。看到我的答案。 – Alohci

回答

2

一些为了向后兼容的原因,指定的字符引用在不需要尾随分号的情况下被识别。 &curren就是其中之一。

命名字符引用的完整清单,其中显示那些不需要尾随分号在这里给出:https://www.w3.org/TR/html51/syntax.html#named-character-references

+0

很好,侦探 - 这是**答案。 –

+0

超级!男人谢谢你! –

1

浏览器尽可能清理垃圾。没有规定说他们应该这样做,或者他们必须这样做,或者甚至认为这是一个好主意。但是如果一些浏览器这样做,那么他们就会这样做。

+1

有一条规则。它在HTML5规范中。 – Alohci

+0

...现在每个浏览器都完全支持这个功能吗? –

3

因为HTML中的任何&都应编码为&。因此,任何&本身将被解释为HTML实体的开始,并且浏览器尝试纠错(如果字符超出其允许序列,例如空格字符,则解析器可能试图解释该实体)。

每当您在HTML中使用&时,都会将其编码为&