在什么情况下可以将大于符号<
用作HTML中的文本?
例如<
和<=
可以将渲染器解析为文本,如果它们在标签中则完全可以:
<p>
<
<=
</p>
不过,<t
将被浏览器解析为HTML,而不产生文本<t
。
浏览器是否有规则规定哪些字符可以以大于符号的形式继续前进,以使浏览器认为它是标记的开头?
答案 0 :(得分:1)
规则是:几乎永远不会。
仅允许在内部带引号的属性值中(以及在script
和style
之类的原始文本标记中)写入<
且不转义。我认为属性名称也允许这些属性,但>
不允许(尽管我不愿意在属性名称中放置<
的原因)。
浏览器将尽最大努力从错误的HTML中恢复,因此有时您可能会忘记了。
但是最好总是对您的实体进行编码。
您应该扫描HTML规范,但是here's one relevant chapter带有各节中列出的一些约束。
在严格模式下使用an HTML validator,以确保它正确无误;您在问题中提供的HTML会被链接的工具拒绝,并建议您切换到<
。