Teknik Filter Teks Atau Memblokir Teks Tertentu Dengan Javascript

Teknik filter teks adalah suatu teknik memblokir sebuah string teks yang kita anggap sebagai teks terlarang atau teks yang menurut kita tidak baik untuk ditampilkan. Teknik Filter teks ini banyak digunakan pada sebuah komentar atau sebuah artikel sebelum di publish.

Teknik Filter Teks Atau Memblokir Teks Tertentu Dengan Javascript


Sebagai contoh, pernahkah kamu bermain game Mobile legend ?? ketika kamu melakukan chat dengan kata kata kasar, maka teks tersebut akan di blokir oleh pihak monton. Nah, bagaimana sistem kerja filter teks ini ? baik, silahkan simak penjelasan saya berikut ini.

Disini saya akan menjelaskan dengan alur sebagai berikut :

Alur Studi Kasus

Sebagai contoh kasus, disini saya memiliki sebuah string teks sebagai berikut :
`Ini adalah contoh teks yang berisi kata kampret. Selain itu teks ini berisi kata sange dan anjay. kata yang difilter adalah Kampret, SANGE dan ANJAY. sekali lagi kata - katanya adalah Sange dan Anjay.`

Lalu saya ingin memblokir beberapa teks yaitu :
kampret
sange
anjay

3 Teks yang saya filter ini nantinya akan menjadi sebuah teks dengan tanda "*". Misal, kata "kampret" akan menjadi "K****t".

Jadi, nantinya saya ingin menghasilkan teks bersih sebagai berikut :
`Ini adalah contoh teks yang berisi kata k******. Selain itu teks ini berisi kata s***e dan a****. kata yang difilter adalah S***E dan A****. sekali lagi kata - katanya adalah S***e dan A****.`

Nah, bagaimana caranya ? Silahkan simak penjelasan saya berikut ini.


Script Filter Teks

Untuk melakukan filter teks ini, Kita harus menggunakan script yang telah saya desain berikut ini :

/*
Script Filter Teks
Design By : Abdi Syahputra Hrahap
Web : www.maskoding.com
*/
function filterTextku(a, b) {
    var aa = a.split(" ");
    var bb = b;
    var cc = aa;
    for (var i = 0; i < aa.length; i++) {
        var ab = aa[i].toLowerCase().replace(/ /g, "");
        for (var j = 0; j < bb.length; j++) {
            if (ab == bb[j] || ab.indexOf(bb[j]) >= 0) {
                var dd = cc[i];
                var ee = [];
                for (var k = 0; k < dd.length; k++) {
                    ee.push("*")
                };
                ee[0] = dd[0];
                ee[ee.length - 1] = dd[dd.length - 1];
                cc[i] = ee.join("");
            };
        };
    };
    return cc.join(" ");
};

Untuk menjalankan script tersebut, kita cukup memangil fungsi sebagai berikut :

filterTextku(dataText, dataFilter)

Keterangan :

dataText adalah string teks yang ingin kita filter.

dataFilter adalah kumpulan string teks dalam bentuk Array.

Nah, untuk contoh kasus pengguna-annya, Silahkan kamu simak penjelasan saya berikut ini:


Aplikasi Pemakaian Script Filter Teks

Sebelumnya saya telah menerangkan bahwa teks yang ingin saya filter adalah sebagai berikut :

`Ini adalah contoh teks yang berisi kata kampret. Selain itu teks ini berisi kata sange dan anjay. kata yang difilter adalah Kampret, SANGE dan ANJAY. sekali lagi kata - katanya adalah Sange dan Anjay.`

Lalu, teks yang ingin saya filter ada 3, yaitu :

kampret
sange
anjay

Berdasarkan fungsi script filter teks sebelumnya, maka kita bisa menuliskan bentuk script sebagai berikut :

/*
Script Filter Teks
Design By : Abdi Syahputra Hrahap
Web : www.maskoding.com
*/
function filterTextku(a, b) {
    var aa = a.split(" ");
    var bb = b;
    var cc = aa;
    for (var i = 0; i < aa.length; i++) {
        var ab = aa[i].toLowerCase().replace(/ /g, "");
        for (var j = 0; j < bb.length; j++) {
            if (ab == bb[j] || ab.indexOf(bb[j]) >= 0) {
                var dd = cc[i];
                var ee = [];
                for (var k = 0; k < dd.length; k++) {
                    ee.push("*")
                };
                ee[0] = dd[0];
                ee[ee.length - 1] = dd[dd.length - 1];
                cc[i] = ee.join("");
            };
        };
    };
    return cc.join(" ");
};

var dataText = `Ini adalah contoh teks yang berisi kata kampret. Selain itu teks ini berisi kata sange dan anjay. kata yang difilter adalah SANGE dan ANJAY. sekali lagi kata - katanya adalah Sange dan Anjay.`;

var dataFilter = [
    "kampret",
    "sange",
    "anjay"
];

//---- output console log ----------
console.log(filterTextku(dataText, dataFilter))

hasil output :

Ini adalah contoh teks yang berisi kata k******. Selain itu teks ini berisi kata s***e dan a****. kata yang difilter adalah S***E dan A****. sekali lagi kata - katanya adalah S***e dan A****.

Nah, cukup mantul bukan ? yah, dengan script ini kamu dapat memblokir kata kata yang menurut kamu kurang pantas untuk ditampilkan.

Mungkin ini saja yang bisa saya bagikan untuk hari ini, jika ada kendala dalam pemakaian silahkan beri komentar dibawah.