On Thursday 14 September 2006 09:47, Ray Hauge wrote:
> On Wednesday 13 September 2006 11:51, Beauford wrote:
> > 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;
> > }
>
> This website answered a lot of my questions about the same situation.  I
> tested it on my development environment, and it worked just fine.
>
> http://www.php-mag.net/magphpde/magphpde_article/psecom,id,637,nodeid,21.ht
>ml
>
> --
> Ray Hauge
> Programmer/Systems Administrator
> American Student Loan Services
> www.americanstudentloan.com
> 1.800.575.1099

I didn't recognize this until after I sent the email, but the article was 
written by Chris Shiflett, so I thought I'd give him credit.  Excellent as 
always :)

-- 
Ray Hauge
Programmer/Systems Administrator
American Student Loan Services
www.americanstudentloan.com
1.800.575.1099

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to