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