msgbartop
PHP语言, PHP扩展, Zend引擎相关的研究,技术,新闻分享 – 左手代码 右手诗
msgbarbottom

25 Feb 10 NCR与HTML Entities

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

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

&#nnnn;
或者
&#xhhhh;

其中, 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,
                                  U+00A6 ISOnum -->

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

&Aring; // Å
而:
&aring; // å

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

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


分享到:



Random Posts:

Tags: , , ,

6 Responses to “NCR与HTML Entities”

  1. GoMovies |

    值得学习

  2. 奇言妙事-文学奇谈小小说阅读xlinblog.sinaapp.com » Mcrypt响应慢的一个原因 |

    [...] NCR与HTML Entities [...]

  3. weikey |

    值得学习

  4. NCR与HTML Entities | 万维网黑客联盟 |

    [...] 本文地址: http://www.laruence.com/2010/02/25/1324.html [...]

  5. yufeng |

    \”最后, 在PHP中, 可以通过htmlentites或者mb_convert_encoding($str, “HTML-ENTITIES”, from encoding)来获得一个字符的HTML entities,\”
    ———————————————————————————-
    htmlentites 应该写为 htmlentities ,您老敲错了。呵呵

  6. 技术世界 |

    沙发,再慢慢看~~~

Leave a Reply

*