'baka', 'SMH' => 'BAKA', 'tbh' => 'desu', 'TBH' => 'DESU', 'fam' => 'senpai', 'FAM' => 'SENPAI', 'Fam' => 'Senpai', 'fams' => 'senpaitachi', 'FAMS' => 'SENPAITACHI', 'FAMs' => 'SENPAITACHI', 'Fams' => 'Senpaitachi' ); if (!isset($vals[$m[2]])) { return $m[0]; } return "{$m[1]}{$vals[$m[2]]}{$m[3]}"; } function word_filter_callback_soy($m) { $is_uc = $m[2] === strtoupper($m[2]); $lc = strtolower($m[4]); if ($lc === 'uz') { return $m[0]; } if ($lc === 'im' || $lc === 'lent') { $m[4] = ''; } if (!isset($m[4][1])) { if ($is_uc) { $onions = 'ONIONS'; } else { if ($m[2][0] === 's') { $onions = 'onions'; } else { $onions = 'Onions'; } } return "{$m[1]}{$onions}{$m[4]}"; } if ($m[2][0] === 's') { $b = 'b'; } else { $b = 'B'; } $ac = mb_strlen($m[3]); if ($ac == 1) { $a = 'a'; } else { if ($ac < 35) { $a = str_repeat('a', $ac); } else { $a = 'a'; } } $based = "{$b}{$a}sed"; if ($is_uc) { $based = strtoupper($based); } return $m[1] . $based . $m[4]; } // $text contents of a field // $type name of the field function word_filter($text, $type) { if ($type !== 'com') { return $text; } // $text = str_replace('Cuck', 'Kek', $text); // $text = str_replace('cuck', 'kek', $text); $text = str_replace('CUCK', 'KEK', $text); $text = str_replace('finna', 'ding-dong diddly', $text); $text = str_replace('Finna ', 'Ding-Dong Diddly', $text); $text = str_replace('FINNA', 'DING-DONG DIDDLY', $text); $text = preg_replace_callback('/(\b)(sjw|sjws|smh|tbh|fams|fam)(\b)/i', 'word_filter_callback', $text); $text = preg_replace_callback('/(\b)(s([o0οоօჿ]+)[yуΥ])(\b|[[:alpha:]]{2,4})/iu', 'word_filter_callback_soy', $text); return $text; }