Re: Question on explode and join.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 9/13/06, Beauford <php-user@xxxxxxxxxx> 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;
}



Perhaps you could try an approach like this:
<?php
$dirty = array(
   'ipsum',
   'eloquentiam',
   'Vero'
);

$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 = str_replace($dirty, '*', $string);

echo "<br>string: ". $string;
echo "<br>clean: ". $clean;

GENERATES:

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: Lorem * ius no etiam veniam, usu alii novum ne, sed cu molestiae *. *
invenire philosophia est ne, quo nemore timeam an.

[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux