/** * -- Add function info here -- */ function degenerate($token = false) { if ($token === false) { $token = $this->getToken(); } $degenerations = array(); $curToken = $token; $prefix = true; while ($prefix) { if (ereg("^(" . TOKEN_TOPIC_MARK . "|" . TOKEN_URL_MARK . "|" . TOKEN_USER_NAME_MARK . "|" . TOKEN_USER_EMAIL_MARK . "|" . TOKEN_USER_URL_MARK . ")(.*)\$", $curToken, $regs)) { $curToken = $regs[2]; $prefix = $regs[1]; } else { $prefix = ""; } $degenerations = array_merge($degenerations, BayesianToken::getBasicsDegeneration($curToken, $prefix)); if (ereg("([^!]+!)!+\$", $curToken, $regs)) { $degenerations = array_merge($degenerations, BayesianToken::getBasicsDegeneration($regs[1], $prefix)); } if (ereg("([^!]+)!+\$", $curToken, $regs)) { $degenerations = array_merge($degenerations, BayesianToken::getBasicsDegeneration($regs[1], $prefix)); } if ($prefix == "" && $curToken == $token) { foreach ($degenerations as $degeneration) { array_push($degenerations, TOKEN_TOPIC_MARK . $degeneration); array_push($degenerations, TOKEN_URL_MARK . $degeneration); array_push($degenerations, TOKEN_USER_NAME_MARK . $degeneration); array_push($degenerations, TOKEN_USER_EMAIL_MARK . $degeneration); array_push($degenerations, TOKEN_USER_URL_MARK . $degeneration); } } } return array_unique($degenerations); }