πββοΈ Fast and simple Map and RegExp based HTML entities encoder.π
Fast and simple Map and RegExp based HTML entities encoder. In order to overcome different methods of possible XSS attacks, it by default encodes the following characters: <, >, ", ', &, =, `, !, @, $, %, (, ), +, {, }, [, ].
You can however remove any of these rules and/or add your own.
Uses the MappedReplacer package.
β¨Since version 1.1.0
Encode Entities
is a hybrid module that supports both CommonJS (legacy) and ES modules, thanks to Modern Module.
npm i encode-entities
Resets the rules to the default ones.
const Encoder = require('encode-entities')
const encoder = new Encoder()
encoder.addRule('<', 'π')
encoder.addRule('>', 'π')
encoder.resetRules()
console.log(encoder.encode('<strong>')) // outputs '<strong>'
Adds a new rule or updates the existing rule for entities encoding. Returns true if the rule was added successfully or false if not.
const Encoder = require('encode-entities')
const encoder = new Encoder()
encoder.addRule('β', '→')
console.log(encoder.encode('<a href="#">β</a>')) // outputs '<a href="#">→</a>'
Adds rules or updates the existing rules for entity encoding.
Passed object is a simple key-value object, i.e. { '<': '<', '>': '>' }
Returns true if the rules were added successfully or false if not.
const Encoder = require('encode-entities')
const encoder = new Encoder()
encoder.addRules({
'π': '𝕋',
'β': '≈',
'π±': '𝔱',
})
console.log(encoder.encode('<span>π β π±</span>')) // outputs '<span>𝕋 ≈ 𝔱</span>'
Removes the rule that matches the provided key. Returns true if the rule was removed successfully or false if not.
const Encoder = require('encode-entities')
const encoder = new Encoder()
encoder.addRules({
'π': '𝕋',
'β': '≈',
'π±': '𝔱',
})
encoder.removeRule('β')
console.log(encoder.rulesCount()) // outputs 20
Gets the number of rules for entity encoding.
const Encoder = require('encode-entities')
const encoder = new Encoder()
encoder.addRules({
'π': '𝕋',
'β': '≈',
'π±': '𝔱',
})
console.log(encoder.rulesCount()) // outputs 21
Encodes special characters in the given string to HTML entities.
const Encoder = require('encode-entities')
const encoder = new Encoder()
console.log(encoder.encode('<strong>')) // outputs '<strong>'
npm test