Estou buscando a melhor lógica para resolver um problema.
Imagine a seguinte string "celta em são paulo"... ok !
A palavra está correta.
meu sistema identifica que celta é um carro e são paulo é uma cidade.
Porem to com uma dúvida, to usando dicionários e vários algoritmos que corrigem palavras e não a frase inteira.
Porem preciso corrigir a cidade dentro dessa string se o usuário digitar "Celta em Saum Paulo"
Precisava descobrir uma maneira de comparar proximidade das palavras.
Acabei resolvendo o problema aqui, pensando e estudando um pouco

Valeu galera!
Vou compartilhar a lógica que cheguei.
<?
// AS CIDADES FICAM EM UMA ARRAY
$cidade = array("campinas","sorocaba","são paulo","são bernardo") ;
// PALAVRA QUE É BUSCADA PELO INTERNAUTA
$palavra1 = "celta em sorcaba" ;
foreach($cidade as $value) {
similar_text($palavra1,$value,&$p) ;
$p = number_format($p) ;
if($p>50) {
echo $value ;
}
}
?>