diff options
Diffstat (limited to 'node_modules/locutus/php/strings/html_entity_decode.js')
-rw-r--r-- | node_modules/locutus/php/strings/html_entity_decode.js | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/node_modules/locutus/php/strings/html_entity_decode.js b/node_modules/locutus/php/strings/html_entity_decode.js new file mode 100644 index 0000000..f240e21 --- /dev/null +++ b/node_modules/locutus/php/strings/html_entity_decode.js @@ -0,0 +1,46 @@ +'use strict'; + +module.exports = function html_entity_decode(string, quoteStyle) { + // eslint-disable-line camelcase + // discuss at: http://locutus.io/php/html_entity_decode/ + // original by: john (http://www.jd-tech.net) + // input by: ger + // input by: Ratheous + // input by: Nick Kolosov (http://sammy.ru) + // improved by: Kevin van Zonneveld (http://kvz.io) + // improved by: marc andreu + // revised by: Kevin van Zonneveld (http://kvz.io) + // revised by: Kevin van Zonneveld (http://kvz.io) + // bugfixed by: Onno Marsman (https://twitter.com/onnomarsman) + // bugfixed by: Brett Zamir (http://brett-zamir.me) + // bugfixed by: Fox + // example 1: html_entity_decode('Kevin & van Zonneveld') + // returns 1: 'Kevin & van Zonneveld' + // example 2: html_entity_decode('&lt;') + // returns 2: '<' + + var getHtmlTranslationTable = require('../strings/get_html_translation_table'); + var tmpStr = ''; + var entity = ''; + var symbol = ''; + tmpStr = string.toString(); + + var hashMap = getHtmlTranslationTable('HTML_ENTITIES', quoteStyle); + if (hashMap === false) { + return false; + } + + // @todo: & problem + // http://locutus.io/php/get_html_translation_table:416#comment_97660 + delete hashMap['&']; + hashMap['&'] = '&'; + + for (symbol in hashMap) { + entity = hashMap[symbol]; + tmpStr = tmpStr.split(entity).join(symbol); + } + tmpStr = tmpStr.split(''').join("'"); + + return tmpStr; +}; +//# sourceMappingURL=html_entity_decode.js.map
\ No newline at end of file |