Belajar Web Programming PHP, HTML, MySQL dan Tutorial

Membuat Filter Bad Words Dengan PHP

Pemrograman PHP mampu melakukan suatu kegiatan yang bersifat automasi dimana dapat melakukan proses yang tadinya manual menjadi otomatis. Proses ini juga terjadi dalam melakukan filter data yang dikirim oleh pengguna secara random. Biasanya apabila ada data yang dikirim pengguna seorang administrator akan memvalidasinya terlebih dahulu apakah data tersebut dapat ditayangkan atau tidak.



Dalam hal ini secara sederhana kita mencoba untuk membuat suatu program berbasis PHP yang dapat melakukan filter Bad Words yang dikirim oleh pengguna. Hasil dari aplikasi ini dapat diterapkan pada aplikasi web yang menerima input dari pengguna secara acak seperti chatting, komentar, guest book, dan lain-lain sesuai kebutuhan. PHP memiliki fungsi str_replace() yang dapat mengakomodir kebutuhan kita dalam melakukan filter data yang dikirim.

Mekanisme sederhana dari fungsi str_replace adalah mencari kata-kata yang akan diganti dengan kata-kata yang sudah ditentukan sebelumnya terhadap string yang akan kita filter. Berikut skema nya

str_replace(search, replace, subject)

search :
berisi kata-kata/string yang akan dicari di dalam subject (dapat berupa array)
replace :
berisi kata-kata/string yang akan digunakan untuk mengganti kata yang ditemukan saat search (dapat berupa array)
subject :
berupa string yang akan difilter

Bagaimana? apabila sudah mengerti maka kita akan coba untuk melakukan coding nya

Basic str_replace()
<?php
$string = "ini adalah kata yang akan di filter";

$kata  = "akan";
$ganti = "<b>mungkin</b>";

$stringfilter = str_replace($kata, $ganti, $string);

echo "$string <hr>";
echo "$stringfilter <hr>";
?>

Outputnya adalah sebagai berikut:


Jadi kata-kata yang akan diganti tidak memiliki ketentuan baku sehingga kita dapat menambahkan elemen atau tag html bold, warna dan lain-lain sesuai dengan kebutuhan. Dengan karakteristik yang demikian maka kita dapat mengkreasikannya kebentuk yang lebih baik lagi atau yang disesuaikan dengan kebutuhan.

setelah memahami dasar tersebut kita dapat membuatnya menjadi aplikasi input user dimana string/data yang akan di filter adalah data yang dikirimkan oleh user/pengguna. Berikut ini adalah kode lengkapnya

Sourcecode : index.php
<!DOCTYPE html>
<head>
 <title>Membuat Filter Bad Words Dengan PHP</title>
 <style>
 body { font-family: verdana; font-size: 12px;}
 </style>
</head>
<h1>Membuat Filter Bad Words Dengan PHP</h1>
<hr>
<form action="index.php" method="post">
<div>Ketikan Pesan</div>
<textarea name="pesan" cols="50" rows="6" required></textarea>
<hr>
<input type="submit" value="Kirim Pesan">
</form>

<?php
$pesan = isset($_POST['pesan'])?$_POST['pesan']:"";

if(!empty($pesan))
{
$badwords    = array("badwords1", "badwords2","badwords3","dst..");
$filterwords = array("b*******1","b*******2","b*******3","d***.");

$pesan = trim($pesan); //menghapus karakter kosong diawal dan akhir kalimat
$pesanfilter = str_replace($badwords, $filterwords, $pesan);
?>
<hr>
<b>Hasil Filter Bad Words Pesan Yang Dikirim</b> | <a href="index.php">Ulang</a>
<hr>
<table width="100%">
<tr>
  <th width="100" valign="top" align="right">Pesan :</th>
  <td valign="top"><?php echo $pesan;?></td>
</tr>
<tr>
  <th width="100" valign="top" align="right">Filter Pesan :</th>
  <td valign="top"><?php echo $pesanfilter;?></td>
</tr>
</table>
<?php
}
?>
Berdasarkan kode diatas maka akan menghasilkan output sebagai berikut:


Bagaimana? cukup mudah bukan? untuk pengembangan lebih lanjut dapat diterapkan kedalam sebuah function buatan yang dapat diterapkan lebih fleksibel lagi. Pembuatan function filter bad words akan dibahas di artikel lain. Selamat mencoba yah ^^
Labels: Bad Words, Filter, PHP, Tutorial

Terima kasih telah membaca Membuat Filter Bad Words Dengan PHP. Bila bermanfaat boleh di share yah :)

0 Comment for "Membuat Filter Bad Words Dengan PHP"

Back To Top