zoukankan      html  css  js  c++  java
  • html实体转换

    摘要:

      在 HTML 中,某些字符是预留的。在 HTML 中不能使用小于号(<)和大于号(>),这是因为浏览器会误认为它们是标签。如果希望正确地显示预留字符,我们必须在 HTML 源代码中使用字符实体。如需显示小于号,我们必须这样写:&lt; 或 &#60;

      HTML 中的常用字符实体是不间断空格(&nbsp;)。浏览器总是会截短 HTML 页面中的空格。如果您在文本中写 10 个空格,在显示该页面之前,浏览器会删除它们中的 9 个。如需在页面中增加空格的数量,您需要使用 &nbsp; 字符实体。

    实体列表:

      下面列出了常用的实体对照表

    显示结果描述实体名称实体编号
      空格 &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;

    实体转换:

      有时候我们需要在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 = {
                '&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;'   : '÷'
            };
            if (str === null) {
                return '';
            }
            str = str.toString();
            return str.indexOf(';') < 0 ? str : str.replace(reg, function(chars) {
                return entity[chars];
            });
        }

    小结:

      使用实体名而不是数字的好处是,名称易于记忆。不过坏处是,浏览器也许并不支持所有实体名称(对实体数字的支持却很好)。

  • 相关阅读:
    随想 20180517
    随想 20180516
    随想 20180514
    alpinelinux
    装系统时总是提示 保存分区表时出现错误(0000000001)函数不正确
    kindeditor在Firefoxt 和 Chrome 下不能取到值的解决方法
    浏览器兼容
    php生成随机密码的几种方法
    按钮效果
    linux下修改/dev/shm tmpfs文件系统大小
  • 原文地址:https://www.cnblogs.com/xiyangbaixue/p/4212706.html
Copyright © 2011-2022 走看看