PR-URL: https://github.com/nodejs/node/pull/16738 Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Anatoli Papirovski <apapirovski@mac.com> |
||
|---|---|---|
| .. | ||
| index.js | ||
| LICENSE | ||
| package.json | ||
| readme.md | ||
parse-entities

Parse HTML character references: fast, spec-compliant, positional information.
Installation
npm:
npm install parse-entities
Usage
var decode = require('parse-entities');
decode('alpha & bravo');
//=> alpha & bravo
decode('charlie ©cat; delta');
//=> charlie ©cat; delta
decode('echo © foxtrot ≠ golf 𝌆 hotel');
//=> echo © foxtrot ≠ golf 𝌆 hotel
API
parseEntities(value[, options])
options
-
additional(string, optional, default:'') — Additional character to accept when following an ampersand (without error) -
attribute(boolean, optional, default:false) — Whether to parsevalueas an attribute value -
nonTerminated(boolean, default:true) — Whether to allow non-terminated entities, such as©catto©cat. This behaviour is spec-compliant but can lead to unexpected results -
warning(Function, optional) — Error handler -
text(Function, optional) — Text handler -
reference(Function, optional) — Reference handler -
warningContext('*', optional) — Context used when invokingwarning -
textContext('*', optional) — Context used when invokingtext -
referenceContext('*', optional) — Context used when invokingreference -
position(LocationorPosition, optional) — Startingpositionofvalue, useful when dealing with values nested in some sort of syntax tree. The default is:{ "start": { "line": 1, "column": 1, "offset": 0 }, "indent": [] }
Returns
string — Decoded value.
function warning(reason, position, code)
Error handler.
Context
this refers to warningContext when given to parseEntities.
Parameters
reason(string) — Reason (human-readable) for triggering a parse errorposition(Position) — Place at which the parse error occurredcode(number) — Identifier of reason for triggering a parse error
The following codes are used:
| Code | Example | Note |
|---|---|---|
1 |
foo & bar |
Missing semicolon (named) |
2 |
foo { bar |
Missing semicolon (numeric) |
3 |
Foo &bar baz |
Ampersand did not start a reference |
4 |
Foo &# |
Empty reference |
5 |
Foo &bar; baz |
Unknown entity |
6 |
Foo € baz |
Disallowed reference |
7 |
Foo � baz |
Prohibited: outside permissible unicode range |
function text(value, location)
Text handler.
Context
this refers to textContext when given to parseEntities.
Parameters
value(string) — String of contentlocation(Location) — Location at whichvaluestarts and ends
function reference(value, location, source)
Character reference handler.
Context
this refers to referenceContext when given to parseEntities.
Parameters
value(string) — Encoded character referencelocation(Location) — Location at whichvaluestarts and endssource(Location) — Source of character reference