5ch_ng_name2

5ちゃんねるの名前をNGワードで消す。

このスクリプトの質問や評価の投稿はこちら通報はこちらへお寄せください。
// ==UserScript==
// @name        5ch_ng_name2
// @namespace   https://catherine.v0cyc1pp.com/5ch_ng_name2.user.js
// @include     http://*.5ch.net/*
// @include     https://*.5ch.net/*
// @include     http://*.bbspink.com/*
// @include     https://*.bbspink.com/*
// @author      greg10
// @run-at      document-end
// @license     GPL 3.0
// @version     0.1
// @grant       none
// @description 5ちゃんねるの名前をNGワードで消す。
// ==/UserScript==


//================================
// Configurations
//   - NGワードを指定してください。
var g_nglist = [
    "見たくない名前",
    "見たくない名前2",
    "見たくない名前3",
];
//================================



console.log("5ch_ng_name start");

//名前は二種類ある
//スレッドページからの名前削除
function name_post() {
    document.querySelectorAll("div.post").forEach(function(elem) {
        var id = elem.getAttribute("id");
        var kids = elem.children[0].children;
        var str = "";
        for (var i = 0; i < kids.length; i++) {
            if (kids[i].classList.contains("name")) {
                str = kids[i].innerText;
            }
        }
        if (str == null || str == undefined) {
            str = "";
        }
        for (i = 0; i < g_nglist.length; ++i) {
            var ngword = g_nglist[i];
            if (ngword == "") {
                continue;
            }
            var obj = new RegExp(ngword, "i");
            var index = str.search(obj);
            if (index != -1) {
                // NGnameでも1の場合は消さない
                console.log("[5ch_ng_name] id=" + id);
                if (id != "1") {
                    elem.nextElementSibling.remove();
                    elem.remove();
                }
            }
        }
    });
}
//板トップdl.threadからの名前削除
function name_thread() {
    document.querySelectorAll("dl.thread > dt").forEach(function(elem) {
        var str = elem.innerText;
        if (str == null || str == undefined) {
            str = "";
        }
        for (var i = 0; i < g_nglist.length; ++i) {
            var ngword = g_nglist[i];
            if (ngword == "") {
                continue;
            }
            var obj = new RegExp(ngword, "i");
            var index = str.search(obj);
            if (index != -1) {
                elem.nextElementSibling.remove();
                elem.remove();
            }
        }
    });
}

function main() {
    name_post();
    name_thread();
}


main();