Re: Profanity Filter
| From: | Sterling Hughes | Date: | Fri, 19 Jan 2001 20:12:11 +0000 |
| Subject: | Re: Profanity Filter | ||
| References: | 1 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-35715@lists.php.net to get a copy of this message | ||
> On Fri, 19 Jan 2001, Ignacio Vazquez-Abrams wrote:
>
> > On Fri, 19 Jan 2001, Sterling Hughes wrote:
> >
> > > I'm saying use the same method, but use an array and avoid the
strpos()
> > > function:
> > >
> > > $words = preg_split("//", $data);
> > > foreach ($words as $word) {
> > > if (in_array($prof, $words)) {
> > > echo "BAD WORD";
> > > echo "BAD WORD";
> > > echo "I'M TELLING";
> > > }
> > > }
> > >
> > > -Sterling
> > >
> >
> > That method suffers from the dictionary problem that Egan brought up.
> >
>
> Hey, wait a second...
>
> Does that code even make sense? I must be missing something...
>
> --
well if you have a concussion... :)
Its a whip up of what I was talking about, I didn't mean it as real code
:)... Switch $words to $word and then swith the argument order to in_array
and yes, it makes sense...
<?php
$profanities = array("fuck", "shit");
$words = preg_split("/\s+/", $data);
foreach ($words as $word) {
if (in_array($word, $profanities)) {
echo "you did a naughty thing";
break;
}
}
?>
Would be the somewhat sane version...
_Sterling