2017-07-28 108 views
1

我试图在URL中包含<和>以引用erlang PidHTML与&lt;&gt;将后者转换为>但不是前者

我的输出:

"You see only the darkness of the cavern.<br><a href=/choices/&lt0.223.0&gt>Venture cautiously.</a><br>" 

我粘贴到foo.html和开放,我得到一个链接到

文件:///%22 /选择/ & lt0.207.0%3E/22%

注意>来自%3E,但& lt没有。为什么两个HTML字符不能保持为<和>?

回答

1

您应该用分号标记实体的末尾,例如&lt;

否则,名称结尾处的含义不明确。对于&gt>,它被解释为名称为gt,因为>不是实体名称的有效字符(它不是ASCII字母数字)。但是在&lt0中,0是实体名称中的有效字符。但是lt0不是一个已定义的实体。假设有一些逻辑可以在前缀中找到有效的名称,但是完全避免依赖这个名称是很好的做法。

如果您对HTML实体如何进行标记化感兴趣,请参阅此处:https://html.spec.whatwg.org/multipage/parsing.html#character-reference-state

相关问题