salr-chrome icon indicating copy to clipboard operation
salr-chrome copied to clipboard

regex js error in smiley replace

Open magus424 opened this issue 12 years ago • 0 comments

Instead of a bunch of ifs, just escape the parens:

--- a/quick-reply-preview-parser.js       2013-01-01 22:10:54.000000000 +0000
+++ b/quick-reply-preview-parser.js       2013-01-01 22:12:26.000000000 +0000
@@ -43,14 +43,13 @@
     for (var index in this.emote_list) {
         var title = this.emote_list[index].emote;
         var img = this.emote_list[index].image;
-               var re;
+        var re;

         if (this.post_text.indexOf(title) != -1)
-               {
-                       //faces have noses. come on.
-                       if (title == ":)" || title == ":-)") { re = (title == ":-)") ? ":-)" : ":)"; }
-                       else if (title == ":(" || title == ":-(") { re = (title == ":-(") ? ":-(" : ":("; }
-                       else { re = new RegExp(title, 'g'); /* this is invalid if :( or :) is entered cause lol */ }
+        {
+            title = title.replace(")", "\\)");
+            title = title.replace("(", "\\(");
+            re = new RegExp(title, 'g');
             this.post_text = this.post_text.replace(re, '<img src="' + img + '" title="' + title + '" border="0" alt="" />');
         }
     }

magus424 avatar Jan 01 '13 22:01 magus424