This is a simple code to get all the 'bad words', stored in a database, out of the text. You could use str_ireplace but since that's installed on PHP5 only, this works as well. It strtolowers the text first then places capitals with ucfirst() where it thinks a capital should be placed, at a new sentence. The previous sentence is ended by '. ' then.
<?php
function filter($text){
$filters=mysql_query("SELECT word,result FROM filter");
while($filter=mysql_fetch_array($filters)){
$text=str_replace($filter[word],$filter[result],strtolower($text));
$parts=explode(". ",$text);
for($i=0;$i<count($parts);$i++){
$parts[$i]=ucfirst($parts[$i]);
}
$text=implode(". ",$parts);
}
return $text;
}
?>