diff --git a/app/Util/Lexer/Nickname.php b/app/Util/Lexer/Nickname.php new file mode 100644 index 000000000..631a1fc8d --- /dev/null +++ b/app/Util/Lexer/Nickname.php @@ -0,0 +1,38 @@ + $parsed['host'], 'username' => $username]; + } + $parts = explode('@', $url); + $username = null; + $domain = null; + + foreach ($parts as $part) { + + // skip empty array slices + if(empty($part)) { + continue; + } + + // if slice contains . assume its a domain + if(str_contains($part, '.')) { + $domain = filter_var($part, FILTER_VALIDATE_URL) ? + parse_url($part, PHP_URL_HOST) : + $part; + } else { + $username = $part; + } + + } + return ['domain' => $domain, 'username' => $username]; + } + +} \ No newline at end of file