$ cnpm install stringify-entities
Encode HTML character references.
stringify-entities/light
'`'
characters are escaped to ensure no scripts
run in Internet Explorer 6 to 8.
Additionally, only named references recognized by HTML4 are encoded, meaning
the infamous '
(which people think is a virus) won’t show upBy default, all dangerous, non-ASCII, and non-printable ASCII characters are
encoded.
A subset of characters can be given to encode just those characters.
Alternatively, pass escapeOnly
to escape just the dangerous
characters ("
, '
, <
, >
, &
, `
).
By default, hexadecimal character references are used.
Pass useNamedReferences
to use named character references when
possible, or useShortestReferences
to use whichever is shortest:
decimal, hexadecimal, or named.
There is also a stringify-entities/light
module, which works just like
stringifyEntities
but without the formatting options: it’s much smaller but
always outputs hexadecimal character references.
npm:
npm install stringify-entities
var stringify = require('stringify-entities')
stringify('alpha © bravo ≠ charlie ???? delta')
// => 'alpha © bravo ≠ charlie 𝌆 delta'
stringify('alpha © bravo ≠ charlie ???? delta', {useNamedReferences: true})
// => 'alpha © bravo ≠ charlie 𝌆 delta'
stringifyEntities(value[, options])
Encode special characters in value
.
options
options.escapeOnly
Whether to only escape possibly dangerous characters (boolean
, default:
false
).
Those characters are "
, &
, '
, <
, >
, and `
.
options.subset
Whether to only escape the given subset of characters (Array.<string>
).
Note that only BMP characters are supported here (so no emoji).
If you do not care about these, use stringify-entities/light
, which always
outputs hexadecimal character references.
options.useNamedReferences
Prefer named character references (&
) where possible (boolean?
, default:
false
).
options.useShortestReferences
Prefer the shortest possible reference, if that results in less bytes
(boolean?
, default: false
).
Note: useNamedReferences
can be omitted when using
useShortestReferences
.
options.omitOptionalSemicolons
Whether to omit semicolons when possible (boolean?
, default: false
).
Note: This creates what HTML calls “parse errors” but is otherwise still
valid HTML — don’t use this except when building a minifier.
Omitting semicolons is possible for legacy named references in certain cases, and numeric references in some cases.
options.attribute
Only needed when operating dangerously with omitOptionalSemicolons: true
.
Create character references which don’t fail in attributes (boolean?
, default:
false
).
parse-entities
— Parse HTML character referencescharacter-entities
— Info on character entitiescharacter-entities-html4
— Info on HTML 4 character entitiescharacter-entities-legacy
— Info on legacy character entitiescharacter-reference-invalid
— Info on invalid numeric character referencesCopyright 2013 - present © cnpmjs.org