Security News
The Unpaid Backbone of Open Source: Solo Maintainers Face Increasing Security Demands
Solo open source maintainers face burnout and security challenges, with 60% unpaid and 60% considering quitting.
parse-entities
Advanced tools
Parse HTML character references: fast, spec-compliant, positional information
The parse-entities npm package is used to parse HTML entities in text. It can decode named and numerical character references in HTML, making it useful for processing and sanitizing HTML content.
Decode named character references
This feature allows you to decode named character references in a string. For example, it converts " to ".
const parseEntities = require('parse-entities');
const decoded = parseEntities('The "quick" brown fox');
console.log(decoded); // Output: The "quick" brown fox
Decode numerical character references
This feature allows you to decode numerical character references in a string. For example, it converts 😀 to 😀.
const parseEntities = require('parse-entities');
const decoded = parseEntities('The 😀 emoji');
console.log(decoded); // Output: The 😀 emoji
Decode mixed character references
This feature allows you to decode a mix of named and numerical character references in a string.
const parseEntities = require('parse-entities');
const decoded = parseEntities('The "quick" brown fox jumps over the lazy dog🐶');
console.log(decoded); // Output: The "quick" brown fox jumps over the lazy dog🐶
The 'he' package (short for HTML entities) is a robust HTML entity encoder/decoder. It supports both named and numerical character references and offers more configuration options compared to parse-entities.
The 'entities' package is another library for encoding and decoding XML and HTML entities. It provides similar functionality to parse-entities but also includes support for encoding entities, which parse-entities does not offer.
The 'html-entities' package provides methods to encode and decode HTML entities. It supports both named and numerical references and offers additional features like encoding non-ASCII characters.
Parse HTML character references: fast, spec-compliant, positional information.
npm:
npm install parse-entities
parse-entities is also available for duo, and bundled for AMD, CommonJS, and globals (uncompressed and compressed).
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
Parameters
value
(string
)
— Value with entities to parse;
options
(Object
, optional):
additional
(string
, optional, default: ''
)
— Additional character to accept when following an ampersand (without
error);
attribute
(boolean
, optional, default: false
)
— Whether to parse value
as an attribute value;
position
(Location
or Position
, optional)
— Starting position
of value
, useful when dealing with values
nested in some sort of syntax tree. The default is:
{
"start": {
"line": 1,
"column": 1,
"offset": 0
},
"indent": []
}
warning
(Function
,
optional) — Error handler;
text
(Function
, optional)
— Text handler;
reference
(Function
,
optional) — Reference handler;
warningContext
('*', optional)
— Context used when invoking warning
;
textContext
('*', optional)
— Context used when invoking text
;
referenceContext
('*', optional)
— Context used when invoking reference
.
Returns
string
— Decoded value
.
Error handler.
Context: this
refers to warningContext
when given to parseEntities
.
Parameters
reason
(string
)
— Reason (human-readable) for triggering a parse error;
position
(Position
)
— Place at which the parse error occurred;
code
(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 |
Text handler.
Context: this
refers to textContext
when given to parseEntities
.
Parameters
value
(string
) — String of content;location
(Location
) — Location at which value
starts and ends.Character reference handler.
Context: this
refers to referenceContext
when given to parseEntities
.
Parameters
value
(string
) — Encoded character reference;location
(Location
) — Location at which value
starts and ends;source
(Location
) — Source of character reference.FAQs
Parse HTML character references
The npm package parse-entities receives a total of 6,991,729 weekly downloads. As such, parse-entities popularity was classified as popular.
We found that parse-entities demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Solo open source maintainers face burnout and security challenges, with 60% unpaid and 60% considering quitting.
Security News
License exceptions modify the terms of open source licenses, impacting how software can be used, modified, and distributed. Developers should be aware of the legal implications of these exceptions.
Security News
A developer is accusing Tencent of violating the GPL by modifying a Python utility and changing its license to BSD, highlighting the importance of copyleft compliance.