HTML实体字符详解
HTML 转义字符(也称为字符实体)用于在 HTML 中表示保留字符或无法直接输入的字符,以防止与 HTML 标签混淆或确保特殊字符正确显示。
一、为什么需要转义字符
- 避免与HTML标签冲突:如
<
和>
是HTML标签的界定符 - 显示特殊符号:如版权符号、货币符号等
- 输入键盘上没有的字符:如数学符号、希腊字母等
- 确保编码一致性:防止不同编码导致的显示问题
二、转义字符的三种表示形式
- 实体名称:
&entity_name;
(如
) - 实体编号:
&#entity_number;
(如 
) - 十六进制表示:
&#xhex_number;
(如 
)
三、常用HTML转义字符表
1. 必须转义的字符
字符 | 实体名称 | 实体编号 | 说明 |
---|---|---|---|
< | < |
< |
小于号 |
> | > |
> |
大于号 |
& | & |
& |
和号 |
" | " |
" |
双引号 |
’ | ' |
' |
单引号(HTML5新增) |
2. 常用特殊字符
字符 | 实体名称 | 实体编号 | 说明 |
---|---|---|---|
|
  |
不间断空格 | |
© | © |
© |
版权符号 |
® | ® |
® |
注册商标 |
™ | ™ |
™ |
商标符号 |
€ | € |
€ |
欧元符号 |
£ | £ |
£ |
英镑符号 |
¥ | ¥ |
¥ |
日元/人民币符号 |
§ | § |
§ |
章节符号 |
¶ | ¶ |
¶ |
段落符号 |
3. 数学符号
字符 | 实体名称 | 实体编号 | 说明 |
---|---|---|---|
× | × |
× |
乘号 |
÷ | ÷ |
÷ |
除号 |
± | ± |
± |
正负号 |
≠ | ≠ |
≠ |
不等于 |
≤ | ≤ |
≤ |
小于等于 |
≥ | ≥ |
≥ |
大于等于 |
° | ° |
° |
度符号 |
4. 箭头符号
字符 | 实体名称 | 实体编号 | 说明 |
---|---|---|---|
← | ← |
← |
左箭头 |
→ | → |
→ |
右箭头 |
↑ | ↑ |
↑ |
上箭头 |
↓ | ↓ |
↓ |
下箭头 |
↔ | ↔ |
↔ |
左右箭头 |
四、使用示例
<p>HTML标签示例:<p>这是一个段落</p></p>
<p>版权信息:© 2023 公司名称</p>
<p>数学公式:2 × 3 = 6</p>
<p>温度:25°C</p>
<p>空格对比:"Hello World" vs "Hello World"</p>
<p>货币:¥100 €10 £8</p>
五、注意事项
- XHTML要求:在XHTML中,所有特殊字符都必须转义
- 属性值中的引号:属性值中的引号应该转义,特别是当属性值本身包含引号时
<img alt="这是"特殊"图片">
- JavaScript中的使用:在JS字符串中使用HTML转义字符时需要双重转义
- CSS内容属性:在CSS的content属性中使用时需要不同的语法
.class:after { content: "\00A9"; } /* CSS中使用十六进制 */
- 编码一致性:确保HTML文档的字符编码声明与实际编码一致(推荐UTF-8)
六、高级用法
组合字符:可以组合多个转义字符
<p>♥ ♥ <3 都表示心形</p>
罕见字符:可以通过Unicode码点引用几乎任何字符
<p>数学积分符号:∫ (∫)</p> <p>希腊字母:α β γ</p>
防止XSS攻击:在动态生成HTML时,必须对用户输入进行转义
// JavaScript示例 function escapeHtml(text) { return text.replace(/[&<>"']/g, function(match) { return { '&': '&', '<': '<', '>': '>', '"': '"', "'": ''' }[match]; }); }
完整的实体名称表见以下链接:
https://www.w3school.com.cn/charsets/ref_html_entities_4.asp