From bd6fd498aabda469dd1c19d8417612b37ce5c0fb Mon Sep 17 00:00:00 2001 From: Eric Wood Date: Sun, 7 Apr 2013 14:57:44 -0500 Subject: [PATCH] Now uses greedy replacement. Fixes #1 --- converter.js | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/converter.js b/converter.js index 544edc4..a88d948 100644 --- a/converter.js +++ b/converter.js @@ -1,8 +1,13 @@ excelParser = { latexEscape: function(text) { + escapeRegExpr = function(str) { + return str.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&"); + }; + var specials = ['\\', '&', '%', '$', '#', '_', '{', '}', '~', '^']; - $.each(specials, function(i,special) { - text = text.replace(special, '\\' + special); + $.each(specials, function() { + var regexp = new RegExp(escapeRegExpr(this), 'g'); + text = text.replace(regexp, '\\' + this, 'g'); }); return text;