- public static function classify($text) {
- if (empty($text)) {
- return 'unclassified';
- }
- if (is_numeric(trim($text))) {
- return 'number';
- }
- $rawText = strtolower(preg_replace('/[^\w]/', '', $text));
- $tokenizedText = preg_split('/\s+/', strtolower(trim($text)));
- if (Str::startsWith($rawText, 'gg') || Str::endsWith($rawText, 'gg')) {
- return 'gg';
- }
- if (Str::contains($rawText, ['glgl', 'glhf', 'hfgl'])) {
- return 'gl';
- }
- if (Str::contains($rawText, ['haha', 'hehe', 'hihi', 'kekw', 'lol', 'lul', 'xd'])) {
- return 'lol';
- }
- if (Str::startsWith($rawText, ['ahoi', 'hallo', 'hello', 'hi ', 'huhu']) || Str::endsWith($rawText, ['hi', 'wave'])) {
- return 'hi';
- }
- if (Str::contains($rawText, ['pog', 'wow'])) {
- return 'pog';
- }
- if (Str::contains($rawText, ['hype'])) {
- return 'hype';
- }
- if (Str::startsWith($rawText, 'o7') || Str::endsWith($rawText, 'o7') || Str::contains($rawText, 'salut')) {
- return 'o7';
- }
- return 'unclassified';
- }
-