Properly escape HTML entities in irclinky filter

Fixes #525
rewrite-with-urlplugin
Lorenz Hübschle-Schneider 11 years ago
parent 82fc20ed0d
commit 1478b611da
  1. 7
      js/filters.js

@ -30,6 +30,13 @@ weechat.filter('irclinky', ['$filter', function($filter) {
return text; return text;
} }
// First, escape entities to prevent escaping issues because it's a bad idea
// to parse/modify HTML with regexes, which we do a couple of lines down...
var entities = {"<": "&lt;", ">": "&gt;", '"': '&quot;', "'": '&#39;', "&": "&amp;", "/": '&#x2F;'};
text = text.replace(/[<>"'&\/]/g, function (char) {
return entities[char];
});
// This regex in no way matches all IRC channel names (they could also begin with &, + or an // This regex in no way matches all IRC channel names (they could also begin with &, + or an
// exclamation mark followed by 5 alphanumeric characters, and are bounded in length by 50). // exclamation mark followed by 5 alphanumeric characters, and are bounded in length by 50).
// However, it matches all *common* IRC channels while trying to minimise false positives. // However, it matches all *common* IRC channels while trying to minimise false positives.

Loading…
Cancel
Save