diff --git a/spec/entities_spec.js b/spec/entities_spec.js index 377db157..5d9ae0bf 100644 --- a/spec/entities_spec.js +++ b/spec/entities_spec.js @@ -383,7 +383,7 @@ describe("XMLParser Entities", function() { Bear - Bears are called Bären in German! + Bears are called Bären in German! `; const expected = { @@ -395,7 +395,8 @@ describe("XMLParser Entities", function() { "heading": "Bear", "body": { "#text": "Bears are called Bären in German!", - "face": "ʕ•ᴥ•ʔ" + "face": "ʕ•ᴥ•ʔ", + "smile": "\u{1F60A}\u{1F60B}" } } }; diff --git a/src/v6/EntitiesParser.js b/src/v6/EntitiesParser.js index 0639dd10..6a31ef8a 100644 --- a/src/v6/EntitiesParser.js +++ b/src/v6/EntitiesParser.js @@ -13,8 +13,8 @@ const htmlEntities = { "copyright" : { regex: /&(copy|#169);/g, val: "©" }, "reg" : { regex: /&(reg|#174);/g, val: "®" }, "inr" : { regex: /&(inr|#8377);/g, val: "₹" }, - "num_dec": { regex: /&#([0-9]{1,7});/g, val : (_, str) => String.fromCharCode(Number.parseInt(str, 10)) }, - "num_hex": { regex: /&#x([0-9a-fA-F]{1,6});/g, val : (_, str) => String.fromCharCode(Number.parseInt(str, 16)) }, + "num_dec": { regex: /&#([0-9]{1,7});/g, val : (_, str) => String.fromCodePoint(Number.parseInt(str, 10)) }, + "num_hex": { regex: /&#x([0-9a-fA-F]{1,6});/g, val : (_, str) => String.fromCodePoint(Number.parseInt(str, 16)) }, }; export default class EntitiesParser{ constructor(replaceHtmlEntities) { diff --git a/src/v6/valueParsers/EntitiesParser.js b/src/v6/valueParsers/EntitiesParser.js index 52b4203e..62ea5704 100644 --- a/src/v6/valueParsers/EntitiesParser.js +++ b/src/v6/valueParsers/EntitiesParser.js @@ -13,8 +13,8 @@ const htmlEntities = { "copyright" : { regex: /&(copy|#169);/g, val: "©" }, "reg" : { regex: /&(reg|#174);/g, val: "®" }, "inr" : { regex: /&(inr|#8377);/g, val: "₹" }, - "num_dec": { regex: /&#([0-9]{1,7});/g, val : (_, str) => String.fromCharCode(Number.parseInt(str, 10)) }, - "num_hex": { regex: /&#x([0-9a-fA-F]{1,6});/g, val : (_, str) => String.fromCharCode(Number.parseInt(str, 16)) }, + "num_dec": { regex: /&#([0-9]{1,7});/g, val : (_, str) => String.fromCodePoint(Number.parseInt(str, 10)) }, + "num_hex": { regex: /&#x([0-9a-fA-F]{1,6});/g, val : (_, str) => String.fromCodePoint(Number.parseInt(str, 16)) }, }; export default class EntitiesParser{ diff --git a/src/xmlparser/OrderedObjParser.js b/src/xmlparser/OrderedObjParser.js index 7c35e587..14ecb4d6 100644 --- a/src/xmlparser/OrderedObjParser.js +++ b/src/xmlparser/OrderedObjParser.js @@ -41,8 +41,8 @@ export default class OrderedObjParser{ "copyright" : { regex: /&(copy|#169);/g, val: "©" }, "reg" : { regex: /&(reg|#174);/g, val: "®" }, "inr" : { regex: /&(inr|#8377);/g, val: "₹" }, - "num_dec": { regex: /&#([0-9]{1,7});/g, val : (_, str) => String.fromCharCode(Number.parseInt(str, 10)) }, - "num_hex": { regex: /&#x([0-9a-fA-F]{1,6});/g, val : (_, str) => String.fromCharCode(Number.parseInt(str, 16)) }, + "num_dec": { regex: /&#([0-9]{1,7});/g, val : (_, str) => String.fromCodePoint(Number.parseInt(str, 10)) }, + "num_hex": { regex: /&#x([0-9a-fA-F]{1,6});/g, val : (_, str) => String.fromCodePoint(Number.parseInt(str, 16)) }, }; this.addExternalEntities = addExternalEntities; this.parseXml = parseXml;