2016-09-13 17:51:17 -04:00
|
|
|
/**
|
|
|
|
* Escape a string to be safe to use in XML content.
|
|
|
|
* CC-BY-SA: hgoebl
|
|
|
|
* https://stackoverflow.com/questions/7918868/
|
|
|
|
* how-to-escape-xml-entities-in-javascript
|
|
|
|
* @param {!string} unsafe Unsafe string.
|
|
|
|
* @return {string} XML-escaped string, for use within an XML tag.
|
|
|
|
*/
|
2017-04-17 15:10:04 -04:00
|
|
|
const xmlEscape = function (unsafe) {
|
|
|
|
return unsafe.replace(/[<>&'"]/g, c => {
|
2016-09-13 17:51:17 -04:00
|
|
|
switch (c) {
|
|
|
|
case '<': return '<';
|
|
|
|
case '>': return '>';
|
|
|
|
case '&': return '&';
|
|
|
|
case '\'': return ''';
|
|
|
|
case '"': return '"';
|
|
|
|
}
|
|
|
|
});
|
|
|
|
};
|
|
|
|
|
|
|
|
module.exports = xmlEscape;
|