Esempio n. 1
0
 public function testMBYTE_eregi_replace()
 {
     $this->assertEquals(utf8_encode('Anklevänkledare'), MBYTE_eregi_replace('n', 'nkle', utf8_encode('ANvändare')));
 }
Esempio n. 2
0
 public function testMBYTE_eregi_replace()
 {
     $this->assertEquals('in my intern', MBYTE_eregi_replace('pat', 'in', 'Pat my pattern'));
 }
Esempio n. 3
0
/**
* This censors inappropriate content
*
* This will replace 'bad words' with something more appropriate
*
* @param        string      $Message        String to check
* @see function COM_checkHTML
* @return   string  Edited $Message
*
*/
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;
            }
            foreach ($_CONF['censorlist'] as $c) {
                if (!empty($c)) {
                    $EditedMessage = MBYTE_eregi_replace($RegExPrefix . $c . $RegExSuffix, "\\1{$Replacement}\\2", $EditedMessage);
                }
            }
        }
    }
    return $EditedMessage;
}
Esempio n. 4
0
/**
 * This censors inappropriate content
 * This will replace 'bad words' with something more appropriate
 *
 * @param  string $message String to check
 * @param  string $type    e.g. 'story', 'comment'
 * @see    function COM_checkHTML
 * @return string          Edited $Message
 */
function COM_checkWords($message, $type = '')
{
    global $_CONF;
    $editedMessage = $message;
    // Allow some admins to bypass bad word check
    if (SEC_inGroup('Root')) {
        return $editedMessage;
    }
    if ($type === 'comment' && SEC_inGroup('Comment Admin')) {
        return $editedMessage;
    }
    if ($type === 'story' && SEC_inGroup('Story Admin')) {
        return $editedMessage;
    }
    if ($_CONF['censormode'] != 0) {
        if (is_array($_CONF['censorlist'])) {
            $Replacement = $_CONF['censorreplace'];
            switch ($_CONF['censormode']) {
                case 1:
                    // Exact match
                    // Intentional fall-through
                // Exact match
                // Intentional fall-through
                default:
                    $RegExPrefix = '(\\s)';
                    $RegExSuffix = '(\\W)';
                    break;
                case 2:
                    // Word beginning
                    $RegExPrefix = '(\\s)';
                    $RegExSuffix = '(\\w*)';
                    break;
                case 3:
                    // Word fragment
                    $RegExPrefix = '(\\w*)';
                    $RegExSuffix = '(\\w*)';
                    break;
            }
            foreach ($_CONF['censorlist'] as $c) {
                if (!empty($c)) {
                    $editedMessage = MBYTE_eregi_replace($RegExPrefix . $c . $RegExSuffix, "\\1{$Replacement}\\2", $editedMessage);
                }
            }
        }
    }
    return $editedMessage;
}