public static function camelCase2Human($input)
{
$original = $input;
if (strpos($input, '\\') !== false) {
$input = explode('\\', $input);
reset($input);
$input = end($input);
}
$input = preg_replace('#^(test)#i', '', $input);
$input = preg_replace('#(test)$#i', '', $input);
$output = preg_replace(array('/(?<=[^A-Z])([A-Z])/', '/(?<=[^0-9])([0-9])/'), '_$0', $input);
$output = preg_replace('#_{1,}#', '_', $output);
$output = trim($output);
$output = strtolower($output);
if (strlen($output) == 0) {
return $original;
}
return $output;
}