Ich schreibe einen einfachen Profanity Filter in PHP. Kann mir jemand sagen, warum der Filter im folgenden Code funktioniert (er wird [explizit] ausgeben) für das $ vowels-Array und nicht für das $ line-Array, das ich aus einer Textdatei konstruiere?Probleme mit dem einfachen PHP Profanity Filter
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;
}
Wenn $ Vokaln in von $ Array ersetzen, es funktioniert mit Ausnahme von Klein Vokale, die Rückkehr:
[[expl[explicit]c[explicit]t]xpl[explicit]c[explicit]t]
instead of
[explicit]
nicht sicher, warum das passiert ist, auch nicht.
Irgendwelche Ideen?
Danke!
Guter Punkt ! Danke – littleK