IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

NCR与HTML Entities

风雪之隅 2010-02-25 22:41:41 累计浏览 1,477 次
本机暂存

Character Entities References(HTML Entities)和Numeric Character Reference(NCR)都是让你可以在页面中显示特殊的字符的编码方式, 俩者之间有什么异同呢?

一个Numeric Character Reference编码是由一个与号(&)跟着一个井号(#), 然后跟着这个字符的Unicode编码值, 最后跟着一个分号组成的, 如:

&#nnnn;或者

其中, nnnn是字符编码的十进制表示, 而hhhh是字符的16进制表示.

另外要注意的是x在xml中必须是小写的.而hhhh可以大小写混用, 另外nnnn和hhhh也可以有前导零.

与NCR不同, HTML Entites是使用一个与号(&),跟着这个字符的名字, 然后以分号(;)结尾来表示一个字符, 这个字符的名字必须是在HTML中已经定义的,比如:

& //&

或者对于XML来说是在DTD中定义过的, 类似:

<!ENTITY nbsp CDATA "&#160;" -- no-break space = non-breaking space,                                  U+00A0 ISOnum --><!ENTITY iexcl CDATA "&#161;" -- inverted exclamation mark, U+00A1 ISOnum --><!ENTITY cent CDATA "&#162;" -- cent sign, U+00A2 ISOnum --><!ENTITY pound CDATA "&#163;" -- pound sign, U+00A3 ISOnum --><!ENTITY curren CDATA "&#164;" -- currency sign, U+00A4 ISOnum --><!ENTITY yen CDATA "&#165;" -- yen sign = yuan sign, U+00A5 ISOnum --><!ENTITY brvbar CDATA "&#166;" -- broken bar = broken vertical bar,

其中, 名字是大小写敏感的. 比如:

&Aring; // Å而:

最后, 在PHP中, 可以通过htmlentites或者mb_convert_encoding($str, “HTML-ENTITIES”, from encoding)来获得一个字符的HTML entities,

也可以通过mb_encode_numericentity(), 或者手动获取unicode值添加&#***, 来获得一个字符的NCR编码.

同分类推荐文章

  1. translateZ() (2026-06-25 21:18:56)
  2. translateY() (2026-06-25 21:17:56)
  3. translateX() (2026-06-25 21:16:01)

查看更多 前端 文章 →

建议继续学习

  1. 各公司对前端开发的职位描述 (累计阅读 10,405)
  2. 浏览器的渲染原理简介 (累计阅读 8,377)
  3. iframe里src="about:blank"的问题。 (累计阅读 8,088)
  4. 程序员眼里IE浏览器是什么样的 (累计阅读 8,011)
  5. 2010网页设计趋势 (累计阅读 7,818)
  6. Web前端工程师编程能力飞升之路 (累计阅读 7,691)
  7. 为什么招不到人 (累计阅读 7,580)
  8. 如何判断自己是否到了该辞职的时候 (累计阅读 7,441)
  9. 如何成为一名优秀的web前端工程师(前端攻城师)? (累计阅读 7,212)
  10. 警惕 Chrome 的查看源代码 (View Page Source) 功能 (累计阅读 7,170)