inline-assets
Version:
Inline External Assets of HTML/CSS Files
21 lines (18 loc) • 664 B
JavaScript
var makeString = require('./helper/makeString');
var htmlEntities = require('./helper/htmlEntities');
module.exports = function unescapeHTML(str) {
return makeString(str).replace(/\&([^;]{1,10});/g, function(entity, entityCode) {
var match;
if (entityCode in htmlEntities) {
return htmlEntities[entityCode];
/*eslint no-cond-assign: 0*/
} else if (match = entityCode.match(/^#x([\da-fA-F]+)$/)) {
return String.fromCharCode(parseInt(match[1], 16));
/*eslint no-cond-assign: 0*/
} else if (match = entityCode.match(/^#(\d+)$/)) {
return String.fromCharCode(~~match[1]);
} else {
return entity;
}
});
};