您的位置:首页 > Web前端 > HTML

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];
});
}


 

 


小结:

  使用实体名而不是数字的好处是,名称易于记忆。不过坏处是,浏览器也许并不支持所有实体名称(对实体数字的支持却很好)。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: