diff options
author | Alfred Egger <alfred.egger@gmx.at> | 2020-12-16 23:13:40 +0300 |
---|---|---|
committer | Alfred Egger <alfred.egger@gmx.at> | 2020-12-16 23:13:40 +0300 |
commit | b01f542c91d65ebc71bb8d843272b154c3d8e4b1 (patch) | |
tree | 8cc2609786813805fdd29ac8136243b7fbb683a1 | |
parent | 68efa663b05058c64b6ced688487cfaa7e3c6e02 (diff) |
Add escapeHTML function to Javascipt code
-rw-r--r-- | js/devel/helpers.js | 51 |
1 files changed, 50 insertions, 1 deletions
diff --git a/js/devel/helpers.js b/js/devel/helpers.js index 46f5e77..a586f3f 100644 --- a/js/devel/helpers.js +++ b/js/devel/helpers.js @@ -26,4 +26,53 @@ function toBool(str) { return false; } return null; -}
\ No newline at end of file +} + + +function escapeHTML(string) { + var str = '' + string + var matchHtmlRegExp = /["'&<>]/ + var match = matchHtmlRegExp.exec(str) + + if (!match) { + return str + } + + var escape + var html = '' + var index = 0 + var lastIndex = 0 + + for (index = match.index; index < str.length; index++) { + switch (str.charCodeAt(index)) { + case 34: // " + escape = '"' + break + case 38: // & + escape = '&' + break + case 39: // ' + escape = ''' + break + case 60: // < + escape = '<' + break + case 62: // > + escape = '>' + break + default: + continue + } + + if (lastIndex !== index) { + html += str.substring(lastIndex, index) + } + + lastIndex = index + 1 + html += escape + } + + return lastIndex !== index + ? html + str.substring(lastIndex, index) + : html +} |