html实体转换

摘要:

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

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

实体列表:

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

显示结果 描述 实体名称 实体编号
  空格 &nbsp;  
< 小于号 &lt; <
> 大于号 &gt; >
& 和号 &amp; &
" 引号 &quot; "
&cent; ¢
£ &pound; £
¥ 日圆 &yen; ¥
欧元 &euro;
§ 小节 &sect; §
© 版权 &copy; ©
® 注册商标 &reg; ®
商标 &trade;
× 乘号 &times; ×
÷ 除号 &divide; ÷

实体转换:

  有时候我们需要在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;‘   : ‘ ‘,
            ‘ ‘   : ‘ ‘,
            ‘&lt;‘     : ‘<‘,
            ‘<‘    : ‘<‘,
            ‘&gt;‘     : ‘>‘,
            ‘&62;‘     : ‘>‘,
            ‘&amp;‘    : ‘&‘,
            ‘&‘    : ‘&‘,
            ‘&quot;‘   : ‘"‘,
            ‘"‘    : ‘"‘,
            ‘&cent;‘   : ‘¢‘,
            ‘¢‘   : ‘¢‘,
            ‘&pound;‘  : ‘£‘,
            ‘£‘   : ‘£‘,
            ‘&yen;‘    : ‘¥‘,
            ‘¥‘   : ‘¥‘,
            ‘&euro;‘   : ‘€‘,
            ‘€‘  : ‘€‘,
            ‘&sect;‘   : ‘§‘,
            ‘§‘   : ‘§‘,
            ‘&copy;‘   : ‘©‘,
            ‘©‘   : ‘©‘,
            ‘&reg;‘    : ‘®‘,
            ‘®‘   : ‘®‘,
            ‘&trade;‘  : ‘™‘,
            ‘™‘  : ‘™‘,
            ‘&times;‘  : ‘ב,
            ‘ב   : ‘ב,
            ‘&divide;‘ : ‘÷‘,
            ‘÷‘   : ‘÷‘
        };
        if (str === null) {
            return ‘‘;
        }
        str = str.toString();
        return str.indexOf(‘;‘) < 0 ? str : str.replace(reg, function(chars) {
            return entity[chars];
        });
    }

小结:

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

时间: 2024-10-14 04:55:18

html实体转换的相关文章

C#实体转换

using System; using System.Collections.Generic; using System.Data; using System.Data.Common; using System.Reflection; /// <summary> /// 实体阅读器类,可以从DataTable中或者DbDataReader的实例中将数据转换成对应的示例 /// 作者:周公 /// 日期:2011-07-17 /// 修改日期:2011-07-21 /// 博客地址:http:/

HBaseConvetorUtil 实体转换工具类

HBaseConvetorUtil 实体转换工具类 public class HBaseConvetorUtil { /** * @Title: convetor * @Description: 传入hbase返回结果值,返回实例集合 * @param * @return * @throws */ public static <T> List<T>convetor(Class<T> cla,ResultScanner resultScanner) throws Exce

HBaseConvetorUtil 实体转换工具

HBaseConvetorUtil 实体转换工具类 public class HBaseConvetorUtil { /** * @Title: convetor * @Description: 传入hbase返回结果值.返回实例集合 * @param * @return * @throws */ public static <T> List<T>convetor(Class<T> cla,ResultScanner resultScanner) throws Exce

.NET 实体转换辅助类

/// <summary> /// 实体转换辅助类 /// </summary> public class ModelConvertHelper<T> where T : new() { public static IList<T> ConvertToModelList(DataTable dt) { // 定义集合 IList<T> ts = new List<T>(); // 获得此模型的类型 Type type = typeof

IFile、File与实体转换

/** * 根据物理实体文件在开发工程中创建实体文件 */ @Override public void getEntityFilesByErFile(IFile erfile, IFolder entityFolder) { if (null == erfile || null == entityFolder) { ERDiagramActivator.showErrorDialog("ER图表为空!"); return; } // 通过file反编译获取diagram,再创建实体,通

Jquery EasyUI Tree树形结构的Java实现(实体转换VO)

前一阵做的OA项目,有一个是组织架构的树,因为是分开做的,我做的是Controller和页面,其他组做的Service和Dao,因为之前一直没有商量页面用什么框架做比较好,导致,Dao层取出来的数据都不是Easyui Tree所能识别的,其实后台返回的也是树形的结构,但是他们返回来的 **id,而不是Easyui Tree所能识别的id:他们返回的是name,,而不是Easyui Tree所能识别的text,他们返回的是****,,而不是Easyui Tree所能识别的children,因为别人

这两天自己模仿写的一个Asp.Net的显示分页方法 附加实体转换和存储过程

之前自己一直用Aspnetpager控件来显示项目中的分页,但是每次都要拖一个aspnetpager的控件进去,感觉很不舒服,因为现在自己写的webform都不用服务器控件了,所以自己仿照aspnetpager写了一个精简实用的返回分页显示的html方法,其他话不说了,直接上代码. 分页显示信息的实体类:  public class Pager    {        private string _firstPageText;        /// <summary>        ///

Transformer-view java实体 转换视图 Lists.transform

自: https://blog.csdn.net/mnmlist/article/details/53870520 meta_ws 连接: https://github.com/kse-music/demo/blob/064663ac7251285745dc915dad4a6837f723538f/src/test/java/com/hiekn/demo/test/util/GuavaTest.java import com.google.common.base.Function; import

AutoMapper(一)——实现数据契约和实体类之间的转换

以前做过Object到Object的转换方法的封装,底层主要还是靠反射取值赋值+循环来实现的.最近在公司里维护旧系统,这个系统使用了WCF,当时就很好奇他们的数据契约到实体模型的转换时怎么做的,之后查看源码,发现他们居然是一个属性一个属性的赋值过来的,当时就给我雷到了,难道就没有人举得这个地方可以封装起来吗? 据我目前了解,有三种方法可以实现这个实体类到实体类的转换过程,下面来简述下这三种方式. 第一种,也是最简单的一种,是用list自带的转换方法,但是这种方法需要自己定义转换规则,写起来也挺麻