diff --git a/app/js/post/emoji.js b/app/js/post/emoji.js
index 0b4e4609..5edeea68 100644
--- a/app/js/post/emoji.js
+++ b/app/js/post/emoji.js
@@ -191,7 +191,7 @@ function emojiInsert(code, del) {
$("#textarea").val(newt);
//emoji();
} else {
- var regExp = new RegExp(del, "g");
+ var regExp = new RegExp(del.replace(/[.*+?^=!:${}()|[\]\/\\]/g, "\\$&"), "g");
var now = now.replace(regExp, "");
$("#textarea").val(now + brank + code);
}
diff --git a/app/js/post/suggest.js b/app/js/post/suggest.js
index 71bf9c7a..32fe9853 100644
--- a/app/js/post/suggest.js
+++ b/app/js/post/suggest.js
@@ -131,7 +131,7 @@ function tagInsert(code, del) {
var selin = $("#textarea").prop('selectionStart');
if (!del) {
} else {
- var regExp = new RegExp(del, "g");
+ var regExp = new RegExp(del.replace(/[.*+?^=!:${}()|[\]\/\\]/g, "\\$&"), "g");
var now = now.replace(regExp, "");
selin = selin - del.length;
}
diff --git a/app/js/tl/filter.js b/app/js/tl/filter.js
index 5d0de708..9e098c41 100644
--- a/app/js/tl/filter.js
+++ b/app/js/tl/filter.js
@@ -370,7 +370,7 @@ function filterUpdateInternal(json, type) {
var text = $(elem).find('.toot').html();
Object.keys(home).forEach(function (key8) {
var word = home[key8];
- var regExp = new RegExp(word, "g");
+ var regExp = new RegExp(word.replace(/[.*+?^=!:${}()|[\]\/\\]/g, "\\$&"), "g");
if ($.strip_tags(text).match(regExp)) {
$("[toot-id=" + id + "]").addClass("hide");
}
@@ -386,6 +386,7 @@ function filterUpdateInternal(json, type) {
*/
//通知フィルター
function exclude(key) {
+ localStorage.setItem("exclude-" + key, "")
var excludetxt = localStorage.getItem("exclude-" + key);
if ($('#exc-reply-' + key + ':checked').val()) {
excludetxt = "?exclude_types[]=mention"
diff --git a/app/js/tl/misskeyparse.js b/app/js/tl/misskeyparse.js
index aca9f5e9..bbc0a937 100644
--- a/app/js/tl/misskeyparse.js
+++ b/app/js/tl/misskeyparse.js
@@ -590,7 +590,7 @@ function misskeyParse(obj, mix, acct_id, tlid, popup, mutefilter) {
} else {
var word = worde
}
- var regExp = new RegExp(word, "g");
+ var regExp = new RegExp(word.replace(/[.*+?^=!:${}()|[\]\/\\]/g, "\\$&"), "g");
if ($.strip_tagstemp(content).match(regExp)) {
boostback = "hide by_filter";
}
@@ -603,7 +603,7 @@ function misskeyParse(obj, mix, acct_id, tlid, popup, mutefilter) {
var word = wordemp[key9];
if (word) {
var word = word.tag;
- var regExp = new RegExp(word, "g");
+ var regExp = new RegExp(word.replace(/[.*+?^=!:${}()|[\]\/\\]/g, "\\$&"), "g");
content = content.replace(regExp, '' + word + "");
}
});
diff --git a/app/js/tl/parse.js b/app/js/tl/parse.js
index 3b9068e7..77b2d709 100644
--- a/app/js/tl/parse.js
+++ b/app/js/tl/parse.js
@@ -733,7 +733,8 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
} else {
var word = worde
}
- var regExp = new RegExp(word, "g");
+ var regExp = new RegExp(word.replace(/[.*+?^=!:${}()|[\]\/\\]/g, "\\$&"), "g");
+ console.log(regExp)
if ($.strip_tags(content).match(regExp)) {
boostback = "hide by_filter";
}
@@ -746,7 +747,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
var word = wordemp[key9];
if (word) {
var word = word.tag;
- var regExp = new RegExp(word, "g");
+ var regExp = new RegExp(word.replace(/[.*+?^=!:${}()|[\]\/\\]/g, "\\$&"), "g");
content = content.replace(regExp, '' + word + "");
}
});
diff --git a/app/js/ui/settings.js b/app/js/ui/settings.js
index e3c745aa..c1a9ed22 100644
--- a/app/js/ui/settings.js
+++ b/app/js/ui/settings.js
@@ -171,7 +171,7 @@ function wordmute() {
});
}
function wordmuteSave() {
- var word = $('#wordmute').material_chip('data');
+ var word = M.Chips.getInstance($("#wordmute")).chipsData;
var json = JSON.stringify(word);
localStorage.setItem("word_mute", json);
}
@@ -185,7 +185,7 @@ function wordemp() {
});
}
function wordempSave() {
- var word = $('#wordemp').material_chip('data');
+ var word = M.Chips.getInstance($("#wordemp")).chipsData;
var json = JSON.stringify(word);
localStorage.setItem("word_emp", json);
}