This repository has been archived on 2023-03-18. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
osr-discourse-src/app/assets/javascripts/discourse/dialects/censored_dialect.js
T
2014-10-02 13:58:58 -04:00

25 lines
700 B
JavaScript

var censorRegexp;
Discourse.Dialect.addPreProcessor(function(text) {
var censored = Discourse.SiteSettings.censored_words;
if (censored && censored.length) {
if (!censorRegexp) {
var split = censored.split("|");
if (split && split.length) {
censorRegexp = new RegExp(split.map(function (t) { return "(" + t.replace(/[-/\\^$*+?.()|[\]{}]/g, '\\$&') + ")"; }).join("|"), "ig");
}
}
if (censorRegexp) {
var m = censorRegexp.exec(text);
while (m && m[0]) {
var replacement = new Array(m[0].length+1).join('■');
text = text.replace(m[0], replacement);
m = censorRegexp.exec(text);
}
}
}
return text;
});