html实体转换
摘要:
在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];
});
}
小結:
使用實體名而不是數字的好處是,名稱易于記憶。不過壞處是,瀏覽器也許并不支持所有實體名稱(對實體數字的支持卻很好)。
總結
- 上一篇: 网络操作系统P12页答案
- 下一篇: arping命令