Roger: badwords ersetzen

Beitrag lesen

moin!

so. ich habs hinbekommen, dass mir eine liste von wörtern ersetzt wird. allerdings wird die schreibweise des wortes in $badwords aufgezwungen.
angenommen, in $badtext würde "Scheiße" klein geschrieben, so wird es im endeffekt trotzdem groß ausgegeben. zugegeben, ich hab die function str_ireplace nicht richtig verstanden. kann man das nicht noch ein wenig anpassen? ansonsten macht das script schon das was ich wollte:
"Ich will diese S****** hier nicht!"

<?

$badwords = array("fuck", "Scheiße", "Arsch");
$badtext = "Ich will diese Scheiße hier nicht!";

function str_ireplace($needle,$rep,$haystack,$pos=0)
{
 $b=explode(strtolower($needle),strtolower($haystack));
 foreach($b AS $bK => $bV)
 {
  $b[$bK]=substr($haystack,$pos,strlen($bV));
  $pos+=strlen($bV)+strlen($needle);
 }
 return implode($rep,$b);
}

foreach($badwords as $word)
{
 $repl_word = substr($word, 0, 1).str_repeat("*", strlen($word)-1);
 $badtext = str_ireplace($word, $repl_word, $badtext);
}
echo $badtext;

?>

gruß.
roger.

--
Dein eigenes Newslettersystem auf deiner Homepage: http://newsletter.maennchen1.de