我试图包含<和>在URL中引用erlang Pid
。
我的输出:
"You see only the darkness of the cavern.<br><a href=/choices/<0.223.0>>Venture cautiously.</a><br>"
我将其粘贴到foo.html
并打开,我收到
文件:///%22 /选择/&安培; lt0.207.0%3E /%22
注意&gt;来自%3E,但&amp; lt没有。为什么两个HTML字符都不能保持&lt;和&gt; ?
答案 0 :(得分:1)
您应该使用分号标记实体的结尾,例如<
。
否则,名称结束的地方不明确。对于>>
,它被解释为名称为gt
,因为>
不是实体名称的有效字符(它不是ASCII字母数字)。但是在<0
中,0
是实体名称中的有效字符。但lt0
不是一个已定义的实体。据说有一些逻辑可以在前缀中找到有效的名字,但最好不要完全依赖它。
如果您对HTML实体的标记化方式感兴趣,请参阅此处:https://html.spec.whatwg.org/multipage/parsing.html#character-reference-state