Badword filter for show hide ads adsense php script

Badword filter for show/hide ads adsense php script, skrip ini di gunakan untuk menyembunyikan iklan adsense jika sebuah halaman mengandung kata-kata jorok (badword).

Adsense melarang sebuah blog atau web menggunakan kata/gambar/video yang jorok (m3m*k, p3p*k, youp0r** , xx_tub*) etc.

Jadi dengan skrip ini kita bisa menyembunyikan iklan jika sebuah halaman mengandung kata kata yang tidak di inginkan.

Skrip php ini mungkin masih banyak kekurangan, karena sangat simple.step pertama:
kalo scriptnya blm ada buffering, kasih code berikut ini sebelum ada echo atau generate code html

ob_start();

step kedua mengolah buffer
taruh code berikut ini di bagian akhir html, atau setelah
anggap scriptnya udah ditutup pake end php tag atau ?>

supaya lebih gampang mengolahnya nulis code iklannya tambahi command html semacam gini ya
<!-- ads -->
<script async src="//pagead2.googlesyndication.com/pagea..."></script>
<ins class="adsbygoogle"
     style="display:block"
     data-ad-client="ca-pub-***************"
     data-ad-slot="**********"
     data-ad-format="auto"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
<!-- end ads -->

ada tambahan
<!-- ads --> dan <!-- end ads -->


ini code untuk mengolahnya & sedikit contoh filter (lengkapi sendiri)
<?php
$buf = ob_get_contents();
$badword = "/\b(saru|anu|jorok|ass)\b/siu";
if(preg_match($badword, $buf)) {
    $buf = preg_replace('/(.*?)<\!-- ads -->(.*?)<\!-- end ads -->(.*?)/isu', '\1\3', $buf);
}
ob_end_clean();
echo $buf;
?>

dengan skrip php di atas, jika dalam konten ada "kata-kata yang difilter" maka code iklannya akan hilang yg berarti iklan tidak akan muncul di halaman tersebut.


keterangan:

di dalam patern untuk regex nya pakai \b (boundary) di awal dan akhir array, tujuannya hanya memfilter kata yg bener2 match.
dari contoh di atas ada kata saru, jika ada kata sarungan maka sarungan tidak akan kena filter
demikian juga kata panu dan janur tidak akan kena filter, yang kena cuma kata anu

atau contoh lain kata dalam bahasa inggris
kata ass dianggap jorok dan mungkin akan berbahaya bagi akun adsense
kata pass dan password tidak jorok dan aman buat adsense

kalau gak pakai boundary kasihan kata-kata yang seharusnya aman tapi ikut kena filter hanya karena ada beberapa huruf berturut2 yg seperti badword seperti contoh di atas anu, panu dan janur.

modifier siu di akhir regex $badword artinya:
i = case insensitive (huruf besar maupun kecil dianggap sama) kalau mau belajar lebih lanjut mengenai modifier ini referensinya

karena case insesitive
anu, ANU, Anu, aNu dan kombinasi huruf besar/kecil lainnya akan kena filter semua, jadi cukup diwakili filter anu

Kredit:
Suhu Hendro Cahyono
Load disqus comments

0 komentar