Hi,
I have a form which I want to check for inappropriate words before it is
posted. I have used explode to put the string into an array using a space as
the delimiter and then I check it against another array that contains the
inappropriate words.
I then replace the inappropriate words with *'s and join the array back into
a string.
This works perfectly except for one thing.
If the word in the string has a any kind of punctuation after it (period,
comma) it won't be matched.
So if moron is an inappropriate word then "you are a moron" works, but "you
are a moron." won't.
Any ideas?
Thanks
This is my code.
function badwords($string) {
$language = array(contains the inappropriate words);
$words = explode(" ",$string);
$count = count(explode(" ", $string));
for($i = 0; $i < $count; $i++) {
if(in_array(strtolower($words[$i]), $language)) {
$words[$i] = "*****";
}
}
$newcomments = join(" ",$words);
return $newcomments;
}