PHP-функция levenshtein () может обрабатывать только до 255 символов, что нереально для ввода пользователем (только первый абзац этого поста содержит 285 символов). Если вы решите использовать пользовательскую функцию, способную обрабатывать более 255 символов, важна эффективность.
Я использую эту функцию, специфичную для этого случая, но гораздо быстрее:
function ucase_percent ($str) {
$str2 = strtolower ($str);
$l = strlen ($str);
$ucase = 0;
for ($i = 0; $i < $l; $i++) {
if ($str{$i} != $str2{$i}) {
$ucase++;
}
}
return $ucase / $l * 100.0;
}