js转html实体

方法一:

用的浏览器内部转换器实现转换,方法是动态创建一个容器标签元素,如DIV,将要转换的字符串设置为这个元素的innerText,然后返回这个元素的innerHTML,即得到经过HTML编码转换的字符串。

function HTMLEncode ( input ) 

var converter = document.createElement("DIV"); 
converter.innerText = input; 
var output = converter.innerHTML; 
converter = null; 
return output; 
}


然,还可以用相同的方法实现对字符串的HTMLDecode解码,但有个问题就是紧跟在字符" <"后面的非空字符将连同字符"
<"同时显示不出来。当然,对字符串作相应处理是可以解决这个问题的,比如在字符"
<"后面加个空格,解码后再去掉就行,这是后话。毕竟,要使用
HTMLDecode方法解码,自然是字符串已经经过HTMLEncode方法编码了,而经过HTMLEncode编码后的字符串,是不可能有字符 "
<"存在的。

function HTMLDecode ( input ) 

var converter = document.createElement("DIV"); 
converter.innerHTML = input; 
var output = converter.innerText; 
converter = null; 
return output; 
}

方法二: 
<script    language=javascript>

function    HTMLEnCode(str)  
  {  
        var    s    =    "";  
        if    (str.length    ==    0)    return    "";  
        s    =    str.replace(/&/g,    "&gt;");  
        s    =    s.replace(/ </g,        "&lt;");  
        s    =    s.replace(/>/g,        "&gt;");  
        s    =    s.replace(/    /g,        "&nbsp;");  
        s    =    s.replace(/\‘/g,      "‘");  
        s    =    s.replace(/\"/g,      "&quot;");  
        s    =    s.replace(/\n/g,      " <br>");  
        return    s;  
  }  
  function    HTMLDeCode(str)  
  {  
        var    s    =    "";  
        if    (str.length    ==    0)    return    "";  
        s    =    str.replace(/&gt;/g,    "&");  
        s    =    s.replace(/&lt;/g,        " <");  
        s    =    s.replace(/&gt;/g,        ">");  
        s    =    s.replace(/&nbsp;/g,        "    ");  
        s    =    s.replace(/‘/g,      "\‘");  
        s    =    s.replace(/&quot;/g,      "\"");  
        s    =    s.replace(/ <br>/g,      "\n");  
        return    s;  
  }  
  </script>

时间: 2024-07-31 00:58:45

js转html实体的相关文章

nodejs(一) 简单登录验证 使用mongoose 操作MongoDB

---恢复内容开始--- 开发使用webstorm 9  新建nodejs+express 项目 newfarmer 文章目录 配置Mongoose 创建目录及文件 插入数据,POST提交JSON增加一条记录 查询数据,取出刚增加的记录 1. 配置Mongoose 增加mongoose的类库 npm install mongoose --save 2.创建目录及文件 在models目录,增加mongodb.js文件 数据库连接文件1 /** 2 * Created by hao on 2014/

(翻译)开始创建你的第一个游戏--CraftyJS

原文链接:http://craftyjs.com/getting-started/ buildnewgames.com的作者Darren Torpey写了一篇很棒的入门指南教你如何开始学习Crafty.js. http://buildnewgames.com/introduction-to-crafty/ 安装Crafty.js是很容易的,只要将它放入<script>标签中并且运行: <html> <head></head> <body> <

android 和h5互调步骤

1. Android 中调用JS 假如:H5页面中有一段如下JS代码 function h5Test(str){ xxxx... xxxx... } Android中调用方式如下: 步骤一: 启动支持JS WebSettings ws = getSettings(); ws.setJavaScriptEnable(True); 步骤二: 加载网页 webView.loadUrl(url); 步骤三:调用网页中的js, 注意此处函数名要和 上面js代码中函数名完全一致 webView.loadUr

ProGuard详解

综述 对于ProGuard工具想必我们都不陌生,它能够通过移除无用代码,使用简短无意义的名称来重命名类,字段和方法.从而能够达到压缩.优化和混淆代码的目的.最终我们会获取一个较小的apk文件,并且我们这个通过ProGuard处理的apk文件更难于进行逆向工程. ProGuard工作原理简介 ProGuard能够对Java类中的代码进行压缩(Shrink),优化(Optimize),混淆(Obfuscate),预检(Preveirfy).  1. 压缩(Shrink):在压缩处理这一步中,用于检测

Android Studio混淆模板及常用第三方混淆(看了都说好)

首先要在build.gradle中开启混淆,也就是minifyEnabled true,我用的build.gradle具体如下所示: def releaseTime() { return new Date().format("yyyy.MM.dd", TimeZone.getTimeZone("UTC")) } android { .... buildTypes { release { // 混淆 minifyEnabled true // Zipalign优化 z

pythonweb HTML入门

HTML入门 概述 HTML/CSS/JS C/S和B/S架构 C/S架构 client:客户端 server:服务器 B/S架构 browser:浏览器 server:服务器 工具 编辑工具:notepad++ 测试工具:chrome 原理 浏览器 => 服务器,发送请求,索要相关数据 服务器 => 浏览器,返回数据(响应),然后浏览器解析收到的数据,就会出现相应的效果 组成:HTML.CSS.JS HTML 说明:超文本标记语言,所见即所得 后缀:.html或.htm,统一使用.html

JS魔法堂:再识ASCII实体、符号实体和字符实体

一.前言            相信大家都熟悉通过字符实体   来实现多个连续空格的输入吧!本文打算对三类HTML实体及JS相关操作作进一步的整理和小结,若有纰漏请大家指正,谢谢. 二.初识HTML实体                                                       由于HTML中某些字符是预留的(如>和<等),若要在进行HTML解析出来后能正确显示预留字符,则需要使用字符实体来代替了. 字符实体有两种表示方式: // 实体名 &entity

一个用于将sql脚本转换成实体类的js代码

以前写过一段C#,苦于编译才能用.这样的小工具最好是用脚本语言来编写,易于执行,也易于修改. js 代码 convert.js -------------------------------------------------- String.prototype.trim=function(){ return this.replace(/(^\s*)|(\s*$)/g, ""); } String.prototype.ltrim=function(){ return this.repl

c#和JS字符串format实现(可实现JSON对象,c#实体对象,C#匿名对象,替换)

首先看一下JS实现方法,此方法在网上找的,具体地址忘了,代码如下: String.prototype.format= function () { if (arguments.length == 0) return this; var param = arguments[0]; var s = this; if (typeof (param) == 'object') { for (var key in param) s = s.replace(new RegExp("\\{" + ke