[ciapug] Moderating message forums

Tony Bibbs tony at tonybibbs.com
Thu May 18 13:00:55 CDT 2006


Here's the snippet I was referring to.  The first three variables define 
settings for the function:

$_CONF['censormode']    = 1;
$_CONF['censorreplace'] = '*censored*';
$_CONF['censorlist']    = array('firstbadword','secondbadword','etc');

function COM_checkWords( $Message )
{
     global $_CONF;

     $EditedMessage = $Message;

     if( $_CONF['censormode'] != 0 )
     {
         if( is_array( $_CONF['censorlist'] ))
         {
             $Replacement = $_CONF['censorreplace'];

             switch( $_CONF['censormode'])
             {
                 case 1: # Exact match
                     $RegExPrefix = '(\s*)';
                     $RegExSuffix = '(\W*)';
                     break;

                 case 2: # Word beginning
                     $RegExPrefix = '(\s*)';
                     $RegExSuffix = '(\w*)';
                     break;

                 case 3: # Word fragment
                     $RegExPrefix   = '(\w*)';
                     $RegExSuffix   = '(\w*)';
                     break;
             }

             for( $i = 0; $i < count( $_CONF['censorlist']); $i++ )
             {
                 $EditedMessage = eregi_replace( $RegExPrefix . 
$_CONF['censorlist'][$i] . $RegExSuffix, "\\1$Replacement\\2", 
$EditedMessage );
             }
         }
     }

     return $EditedMessage;
}



James Loghry wrote:
> If you're using PHP, you may want to set up a simple regular
> expression(s) for filtering the content.  Using the preg_replace()
> method in PHP or one of its counter-parts, you can specify an array of
> both "bad words" as well as "good words" to replace the profanity with.
> 
> The manual for preg_replace() can be found here:
> http://us2.php.net/manual/en/function.preg-replace.php.
> 
> Many other languages including Perl and Java for starters support
> regex's as well.
> 
> As for a list of words to filter.. I might suggest checking out an
> installation of phpBB or other suitable message board programs, and
> looking through the config files or database.
> 
> 
> Dave J. Hala Jr. wrote:
>> On Thu, 2006-05-18 at 10:51, Tony Bibbs wrote:
>>   
>>> I can't help with a list of words but could probably give you snippets 
>>> that I wrote that does this in Geeklog.
>>>
>>> Just a bit of semantics though, when you say moderate to me that means 
>>> having an administrator explicitly approve something before it's visible 
>>> publicly.  Is that what you mean or are we really talking about content 
>>> filtering?  Content filtering in Geeklog handles both profanity but 
>>> other stuff too like allowable HTML, etc.
>>>
>>>     
>> I guess that maybe "moderate" isn't the best word. I'd like to come up
>> with a way to eliminate and/or filter the profanity and flag any posts
>> that could potentially create any issues.  I'd like to make the system
>> as automated as possible without me having to read and "approve" a ton
>> of posts. If  I could automate most of the grunt work (profanity, etc.)
>> I could spend my time on the tough issues.
>>
>>
>> I've been googling, and it looks like the profane list words is fairly
>> small. However "phrases" could be an issue. ..
>>
>>
>>
>>   
>>> --Tony
>>>
>>> Dave J. Hala Jr. wrote:
>>>     
>>>> I'm working on a *very* simple message forum project. Basically you post
>>>> a message, and then people can post comments etc. You know the drill.
>>>>
>>>> Anyway, I'm mulling over the "moderating" issue. One thing I want to
>>>> spend some time on is the issue of profanity.   What I'd like to do is
>>>> substitute  a string of characters for certain words. I might even do
>>>> something silly like substitute in <radio edit> for each profanity..
>>>>
>>>> I'm looking for a list of profanities that I could import into a table.
>>>>
>>>> Anyone know where to look? Anyone have any thoughts on writing the
>>>> moderating code? Its important to keep it as simple as possible.
>>>>
>>>>
>>>> :) Dave
>>>>
>>>>       
>>> _______________________________________________
>>> ciapug mailing list
>>> ciapug at cialug.org
>>> http://cialug.org/mailman/listinfo/ciapug
>>>     
> 
> 


More information about the ciapug mailing list