Другие функции сравнения работают с целыми фразами. Например, функция levenshteinO вычисляет "расстояние" между двумя фразами, определяя минимальное число дополнений, удалений и замен, необходимых для трансформации одной строки в другую:
echo levenshtein ('Tabini', 'Tabani'); echo "\n";
Этот сценарий вернет U1, поскольку необходимо изменить только одну первую букву 'Г в слове 'Tabini' на 'а', чтобы получить строку 'Tabani'. Несмотря на то что меньшее значение levenshtein-расстояния обычно означает большее сходство между двумя параметрами, значение, возвращаемое этой функцией, дает лучшее представление о близости двух предложений, когда вы сравниваете его с длиной первого параметра:
Результатом будет значение, которое приближенно представляет процент расстояния между двумя параметрами. Предыдущий сценарий вернет расстояние в 16,67 %, которое может быть транслировано в степень сходства между строками в 83,33 %, если вычесть разницу из 100 %. Другой способ определения сходства между двумя строками представлен функцией similar_text (), которая вычисляет количество совпадений между двумя строками и таким образом определяет их сходство:
Достаточно интересно то, что, запустив этот сценарий, мы получим следующий результат: Совпадений: 5 - в процентах: 83.333333333333 Что как раз равно значению, которое мы вычислили ранее, приведя к процентам совпадения расстояние, полученное от функции levenstein ().