In article <[EMAIL PROTECTED]>, [EMAIL PROTECTED] 
(Team JUMP) wrote:

>    $num=count($bannedwords);
>             for($i=0;$i<$num-1;$i++)
>             {
>                 $string =
> eregi_replace("\b$bannedwords[$i]\b","[censored]",$string);
>             }
> 
> 
> For whatever reason, no word in $bannedwords will match in the string.  I've
> tested it with simple expressions like "\btest\b" and it will not match the
> word "test". 

Have you tried it with either "[:space:]$bannedwords[$i][:space:] or 
"\<$bannedwords[$i]\>" yet?  Also, I think using a foreach($bannedwords as 
$current_word) would be a better choice here; more compact, and loops all 
the way to the end of the array even when the numerical index does not 
follow the expected sequence.  (BTW, if you want to stick with the for() 
and you know the index numbers will always be sequentially zero to 
whatever, then your test should be just $i<$num.  Otherwise, you're 
skipping the final loop.)

-- 
CC

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to