forked from lix-project/lix-website
72 lines
1.4 KiB
Markdown
72 lines
1.4 KiB
Markdown
|
# ent
|
|||
|
|
|||
|
Encode and decode HTML entities
|
|||
|
|
|||
|
[![browser support](http://ci.testling.com/substack/node-ent.png)](http://ci.testling.com/substack/node-ent)
|
|||
|
|
|||
|
[![build status](https://secure.travis-ci.org/substack/node-ent.png)](http://travis-ci.org/substack/node-ent)
|
|||
|
|
|||
|
# example
|
|||
|
|
|||
|
``` js
|
|||
|
var ent = require('ent');
|
|||
|
console.log(ent.encode('<span>©moo</span>'))
|
|||
|
console.log(ent.decode('π & ρ'));
|
|||
|
```
|
|||
|
|
|||
|
```
|
|||
|
<span>©moo</span>
|
|||
|
π & ρ
|
|||
|
```
|
|||
|
|
|||
|
![ent](http://substack.net/images/ent.png)
|
|||
|
|
|||
|
# methods
|
|||
|
|
|||
|
``` js
|
|||
|
var ent = require('ent');
|
|||
|
var encode = require('ent/encode');
|
|||
|
var decode = require('ent/decode');
|
|||
|
```
|
|||
|
|
|||
|
## encode(str, opts={})
|
|||
|
|
|||
|
Escape unsafe characters in `str` with html entities.
|
|||
|
|
|||
|
By default, entities are encoded with numeric decimal codes.
|
|||
|
|
|||
|
If `opts.numeric` is false or `opts.named` is true, encoding will used named
|
|||
|
codes like `π`.
|
|||
|
|
|||
|
If `opts.special` is set to an Object, the key names will be forced
|
|||
|
to be encoded (defaults to forcing: `<>'"&`). For example:
|
|||
|
|
|||
|
``` js
|
|||
|
console.log(encode('hello', { special: { l: true } }));
|
|||
|
```
|
|||
|
|
|||
|
```
|
|||
|
hello
|
|||
|
```
|
|||
|
|
|||
|
## decode(str)
|
|||
|
|
|||
|
Convert html entities in `str` back to raw text.
|
|||
|
|
|||
|
# credits
|
|||
|
|
|||
|
HTML entity tables shamelessly lifted from perl's
|
|||
|
[HTML::Entities](http://cpansearch.perl.org/src/GAAS/HTML-Parser-3.68/lib/HTML/Entities.pm)
|
|||
|
|
|||
|
# install
|
|||
|
|
|||
|
With [npm](https://npmjs.org) do:
|
|||
|
|
|||
|
```
|
|||
|
npm install ent
|
|||
|
```
|
|||
|
|
|||
|
# license
|
|||
|
|
|||
|
MIT
|