html实体转换
2015-08-12 13:51
381 查看
摘要:
在 HTML 中,某些字符是预留的。在 HTML 中不能使用小于号(<)和大于号(>),这是因为浏览器会误认为它们是标签。如果希望正确地显示预留字符,我们必须在 HTML 源代码中使用字符实体。如需显示小于号,我们必须这样写:< 或 <HTML 中的常用字符实体是不间断空格( )。浏览器总是会截短 HTML 页面中的空格。如果您在文本中写 10 个空格,在显示该页面之前,浏览器会删除它们中的 9 个。如需在页面中增加空格的数量,您需要使用 字符实体。
实体列表:
下面列出了常用的实体对照表显示结果 | 描述 | 实体名称 | 实体编号 |
---|---|---|---|
空格 | |||
< | 小于号 | < | < |
> | 大于号 | > | > |
& | 和号 | & | & |
" | 引号 | " | " |
¢ | 分 | ¢ | ¢ |
£ | 镑 | £ | £ |
¥ | 日圆 | ¥ | ¥ |
€ | 欧元 | € | € |
§ | 小节 | § | § |
© | 版权 | © | © |
® | 注册商标 | ® | ® |
™ | 商标 | ™ | ™ |
× | 乘号 | × | × |
÷ | 除号 | ÷ | ÷ |
实体转换:
有时候我们需要在js里处理DOM,但是实体只有当浏览器渲染页面时才会转换对应的字符。所以我们就得自己写一个实体转换函数。如下:function unescapeEntity(str) { var reg = /&(?:nbsp|#160|lt|#60|gt|62|amp|#38|quot|#34|cent|#162|pound|#163|yen|#165|euro|#8364|sect|#167|copy|#169|reg|#174|trade|#8482|times|#215|divide|#247);/g, entity = { ' ' : ' ', ' ' : ' ', '<' : '<', '<' : '<', '>' : '>', '&62;' : '>', '&' : '&', '&' : '&', '"' : '"', '"' : '"', '¢' : '¢', '¢' : '¢', '£' : '£', '£' : '£', '¥' : '¥', '¥' : '¥', '€' : '€', '€' : '€', '§' : '§', '§' : '§', '©' : '©', '©' : '©', '®' : '®', '®' : '®', '™' : '™', '™' : '™', '×' : '×', '×' : '×', '÷' : '÷', '÷' : '÷' }; if (str === null) { return ''; } str = str.toString(); return str.indexOf(';') < 0 ? str : str.replace(reg, function(chars) { return entity[chars]; }); }
小结:
使用实体名而不是数字的好处是,名称易于记忆。不过坏处是,浏览器也许并不支持所有实体名称(对实体数字的支持却很好)。
相关文章推荐
- HTML性能优化
- htmlspecialchars输出为空的问题
- HTML标签嵌套规则
- c# 关于HtmlGenericControl 类的笔记(自用)
- HTML中from get post
- html笔记
- HTML判断IE版本,如:[if lte IE 9]……[endif]
- ng-bind-html指令
- HTMLParser半自动解析网页的应用
- innerHTML、innerText和outerHTML、outerText的区别
- 第一段HTML5代码
- MVC中的Html.ActionLink的介绍
- MVC中的Html.ActionLink的介绍
- dHTML实现简单的windows计算器
- 格式化html代码的函数有哪些
- markdown学习笔记
- 29-HTML-19-HTML(标签的分类)
- 29-HTML-17-HTML(服务端和客户端校验的问题)
- 29-HTML-18-HTML(常见的其他标签)
- 29-HTML-16-HTML(服务端GET和POST区别)