The problem with scripts like these is there is so many variables to deal with. First, this doesn't deal with uppercase. So a word like bAdWoRd would not get detected, or a word beginning a sentence. Also, a word within a word like wordbadwordword would not be detected, and I'm sure there are more I haven't discovered yet. I haven't had much time to play around with it since earlier today, so I haven't experimented with it, but ideas are welcome. Thanks -----Original Message----- From: Ducarom [mailto:ducarom@xxxxxxxxx] Sent: September 13, 2006 2:26 PM To: Beauford Cc: php Subject: Re: Question on explode and join. I made some changes to the script from Butera. Now it only replaces complete words. $dirty = array( 'ipsum', 'eloquentiam', 'Vero' ); foreach ($dirty as $key => $word) { $dirty[$key] = '/\b'. $word . '\b/'; } $string = "Lorem ipsum ius no etiam veniam, usu alii novum ne, sed cu molestiae eloquentiam. Vero invenire philosophia est ne, quo nemore timeam an."; $clean = preg_replace($dirty, '*', $string); echo "<br>string: ". $string; echo "<br>clean: ". $clean; On 9/13/06, Beauford <php-user@xxxxxxxxxx> wrote: > > There ya go. Works and is shorter than what I did. Thanks. > > One other question. if I have bunny and bunnyhole in the badword > array. if someone types in bunnyhole, I end up getting *hole in the > clean string. If I change the order of the words in the array would > that solve the problem? > > Thanks > -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php