js-htmlencode是一款可以实现HTML编码和解码的JavaScript工具类。通过该JS工具类,你可以将HTML标签转换为对应的HTML实体,也能将HTML实体转换回HTML标签,非常实用。

安装

可以通过bower或npm来安装js-htmlencode插件。

bower install js-htmlencode
npm install js-htmlencode   
  

使用方法

在页面中引入htmlencode.js文件,如何你可以像下面这样使用该HTML编码和解码插件。

htmlEncode('需要进行编码的HTML文本');
htmlDecode('需要进行解码的字符串');    
  

如果你使用node.js,你可以:

htmlEncode = require('js-htmlencode');    
  

或者:

htmlEncode = require('js-htmlencode').htmlEncode;
htmlDecode = require('js-htmlencode').htmlDecode;    
  

应用举例

下面是一些小例子。

代码:

htmlEncode('<a href="#">HTML Encode</a>');
htmlDecode('&lt;a href=&quot;#&quot;&gt;HTML Encode</a&gt;');
htmlDecode('<a href="#">HTML Encode</a>');    
  

上面的代码的输出结果为:

&lt;a href=&quot;#&quot;&gt;HTML Encode&lt;/a&gt;
<a href="#">HTML Encode</a>
<a href="#">HTML Encode</a>    
  

扩展

jQuery

如果你使用jQuery,可以使用下面的代码来添加一个jQuery扩展。

jQuery.htmlEncode = htmlEncode
jQuery.htmlDecode = htmlDecode    
  

然后你就可以像下面这样来进行编码和解码:

$.htmlEncode('<a href="#">HTML Encode</a>');
$.htmlDecode('&lt;a href=&quot;#&quot;&gt;HTML Encode&lt;/a&gt;');    
  
Prototype

你还可以直接在原型prototype中添加扩展。

String.prototype.htmlEncode = function() {
  return htmlEncode(this);
};
String.prototype.htmlDecode = function() {
  return htmlDecode(this);
};    
  

然后你就可以像下面这样来进行编码和解码:

'<a href="#">HTML Encode</a>'.htmlEncode();
'&lt;a href=&quot;#&quot;&gt;HTML Encode</a&gt;'.htmlDecode();    
  

该HTML编码和解码插件的github地址为:https://github.com/emn178/js-htmlencode