跳转至

HTML 字符实体

HTML 字符引用用于表示具有语法意义、难以输入或容易混淆的 Unicode 字符。 现代文档应使用 UTF-8,普通中文和大多数符号可以直接书写。

常见引用

字符 命名引用 数字引用 常见用途
< &lt; &#60; 显示小于号,避免被当作标签开头
> &gt; &#62; 显示大于号
& &amp; &#38; 显示与号,避免开始字符引用
" &quot; &#34; 双引号
' &apos; &#39; 单引号
不换行空格 &nbsp; &#160; 防止特定位置换行
<p>条件是 3 &lt; 5,并且 A &amp; B 均已就绪。</p>

命名与数字形式

数字引用可用十进制 &#169; 或十六进制 &#xA9;。 命名引用更易读,但并非每个 Unicode 字符都有常用名称。 在源码中保留分号可避免与后续字母或数字产生解析歧义。

空格不是布局工具

HTML 通常会折叠连续普通空白。 不要用一串 &nbsp; 对齐内容;应使用 CSS 的 gap、margin、Grid 或 Flexbox。 &nbsp; 只适合确实不能在该处换行的文本组合,并应谨慎使用。

源码示例

要在页面中展示 HTML 标签,需要转义尖括号:

<code>&lt;strong&gt;重要内容&lt;/strong&gt;</code>

在 Markdown 文档中,围栏代码块通常能直接呈现标签;具体仍取决于渲染器。

字符引用与安全

字符引用不是通用的“安全过滤器”。 HTML 文本、HTML 属性、URL、JavaScript 和 CSS 是不同上下文,需要不同处理方式。 把数据先转义再拼入脚本,仍可能进入错误的解析上下文。

模板系统应默认进行上下文相关编码,并避免让普通数据进入原始 HTML 接口。 解码后再使用的数据也必须按新的目标上下文重新处理。

检查清单

  • 文档、HTTP 响应头和编辑器统一使用 UTF-8。
  • 必要时转义 <、& 等会影响 HTML 解析的字符。
  • 不用字符实体堆砌间距或绘制页面布局。
  • 不把一次 HTML 转义误认为适用于 URL、脚本和样式上下文。
  • 检查复制粘贴后是否出现外观相似但含义不同的 Unicode 字符。

下一篇:HTML URL。