PHP basit bir küfür filtresi yazıyorum. Herkes söyleyebilir benim neden, aşağıdaki kodda, filtre $ ünlüler dizisi ve ben bir metin dosyası oluşturarak değil $ çizgiler dizisi için (o [açık] basacaktır) çalışır?
function clean($str){
$handle = fopen("badwords.txt", "r");
if ($handle) {
while (!feof($handle)) {
$array[] = fgets($handle, 4096);
}
fclose($handle);
}
$vowels = array("a", "e", "i", "o", "u", "A", "E", "I", "O", "U");
$filter = "[explicit]";
$clean = str_replace($array, $filter, $str);
return $clean;
}
$ Dizi yerine dolar ünlüleri kullanırken, geri dönmek küçük ünlüler hariç çalışır:
[[expl[explicit]c[explicit]t]xpl[explicit]c[explicit]t]
instead of
[explicit]
Bu da oluyor, neden emin değil.
Herhangi bir fikir?
Teşekkürler!