From ad9384e8d72689f1361102d905595b1b71c9eca0 Mon Sep 17 00:00:00 2001 From: Martin Zimmermann Date: Sun, 6 Jul 2014 19:29:42 +0200 Subject: [PATCH] preserve HTML tags while editing comments --- isso/js/app/utils.js | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/isso/js/app/utils.js b/isso/js/app/utils.js index d49e60b..f5f4992 100644 --- a/isso/js/app/utils.js +++ b/isso/js/app/utils.js @@ -38,6 +38,21 @@ define(["app/i18n"], function(i18n) { i18n.pluralize("date-year", Math.ceil(days / 365.25)); }; + var HTMLEntity = { + "&": "&", + "<": "<", + ">": ">", + '"': '"', + "'": ''', + "/": '/' + }; + + var escape = function(html) { + return String(html).replace(/[&<>"'\/]/g, function (s) { + return HTMLEntity[s]; + }); + }; + var text = function(html) { var _ = document.createElement("div"); _.innerHTML = html.replace(/

<\/div>/gi, '
') @@ -47,8 +62,8 @@ define(["app/i18n"], function(i18n) { }; var detext = function(text) { - return text.replace(/\n\n/gi, '

') - .replace(/\n/gi, '
'); + return escape(text.replace(/\n\n/gi, '

') + .replace(/\n/gi, '
')); }; return {