PhoneBR - Função Fonética p/ Língua Portuguesa
Está função retorna o valor fonético de uma palavra ou uma frase da língua portuguesa. Quando comparada com outra de escrita diferente, porem de pronuncias igual encontra o mesmo resultado. Para utiliza-la basta passar 2 variáveis texto uma com o texto a ser analisado e outra p/ receber o resultado fonético ex.: phonebr(“casa”, $result)
Data | Autor | Changelog | Download |
---|---|---|---|
12/09/2003 4:15pm | Thiago Pádua | - | Versão 1.0b |
18/09/2003 9:14am | João Henrique | Versão 1.1 | Versão 1.1 |
08/08/2009 1:02am | Otavio Diniz | Versão 1.2 | Versão 1.2 |
Cara, eu só tinha visto algo parecido em um software da Adobe, onde ele fazia uma procura no documento, sensível a pronuncia, no caso "sounds like", mas era ingles. Eu achei aquilo o maximo, e pensei que era um bicho de 7 cabeças, mas no que vi seu script, uma coisa bem simples e de fácil adaptação achei muito bom.
òtima a sua idéia e o jeito de fazer.
Com certeza um script muito interessante e que enriquece seu sistema.
Parabéns pelo script.
òtima a sua idéia e o jeito de fazer.
Com certeza um script muito interessante e que enriquece seu sistema.
Parabéns pelo script.
19/09/2003 6:59am
(~21 anos atrás)
Germino,
Agradeço a sua ajuda na função, e a todos que estão acompanhando. Quem sabe um dia não teremos uma função nativa do PHP p/ nossa lingua! ;)
Agradeço a sua ajuda na função, e a todos que estão acompanhando. Quem sabe um dia não teremos uma função nativa do PHP p/ nossa lingua! ;)
18/09/2003 10:26am
(~21 anos atrás)
Caro Olavo,
Desenvolvi esta função baseada no código da função fonética do PHP metaphone() (http://www.lanw.com/java/phonetic/) assim como ela não utiliza as vogais eu adotei o mesmo padrão. As vantagens que encontrei em não utilizar, é que o sistema encontrara tanto resultados no masculino quanto no feminino e, no caso de vogais repetidas ex.: “KAZAA” se você procurar “KAZA” , “KAAZA” ele sempre retornará “KZ”, a idéia é essa. Porem caso queira que o sistema considere as vogais é muito simples, basta acrescentar os “CASES” p/ elas conforme exemplificado abaixo:
case 'a' :
$result .= a;
break;
case 'e' :
$result .= e;
break;
case 'i' :
$result .= i;
break;
case 'o' :
$result .= o;
break;
case 'u' :
$result .= u;
break;
* Espero ter exclarecido, caso não poste a votnade =)
Desenvolvi esta função baseada no código da função fonética do PHP metaphone() (http://www.lanw.com/java/phonetic/) assim como ela não utiliza as vogais eu adotei o mesmo padrão. As vantagens que encontrei em não utilizar, é que o sistema encontrara tanto resultados no masculino quanto no feminino e, no caso de vogais repetidas ex.: “KAZAA” se você procurar “KAZA” , “KAAZA” ele sempre retornará “KZ”, a idéia é essa. Porem caso queira que o sistema considere as vogais é muito simples, basta acrescentar os “CASES” p/ elas conforme exemplificado abaixo:
case 'a' :
$result .= a;
break;
case 'e' :
$result .= e;
break;
case 'i' :
$result .= i;
break;
case 'o' :
$result .= o;
break;
case 'u' :
$result .= u;
break;
* Espero ter exclarecido, caso não poste a votnade =)
17/09/2003 3:51pm
(~21 anos atrás)
Legal a função...
Rapidamente aqui já dei um olhada...
Veio uma dúvida:
Porque você retorna apenas as consoantes?
Rapidamente aqui já dei um olhada...
Veio uma dúvida:
Porque você retorna apenas as consoantes?
16/09/2003 10:18am
(~21 anos atrás)
Olá,
Caro amigo esse tipo de função geralmente é empregada p/ sistemas de busca, onde você não precisaria saber se o nome de algo ou alguém é com "W" ou "V”, "C" ou "X", masculino ou feminino, etc... Muitos sistemas de busca utilizam esse tipo de função p/ fazer uma busca mais abrangente, devido a ele ignorar as vogais encontraria resultados tanto no masculino quanto no feminino entre outras. Um exemplo mais claro, seu usuário escuta falar de um programa chamado “KAZAA” pelo seu conhecimento da língua portuguesa irá digitar “CASA” e não encontraria nada relacionado ao “KAZAA”, porem se fosse empregada está função ela retornaria “KZ” p/ “CASA”, e “KZ” também p/ “KAZAA” com tudo acharia oque o usuário estaria em busca. Em um sistema de busca p/ o processo ficar mais rápido o interessante seria criar uma coluna a mais p/ cada registro, onde fique gravado o resultado fonético, de forma que você não precisaria inferir a função para todos os registros a cada busca, e sim apenas p/ a string que esta sendo buscada. Espero ter esclarecido a sua duvida e possivelmente de outras pessoas! Obrigado.
Thiago Pádua
Caro amigo esse tipo de função geralmente é empregada p/ sistemas de busca, onde você não precisaria saber se o nome de algo ou alguém é com "W" ou "V”, "C" ou "X", masculino ou feminino, etc... Muitos sistemas de busca utilizam esse tipo de função p/ fazer uma busca mais abrangente, devido a ele ignorar as vogais encontraria resultados tanto no masculino quanto no feminino entre outras. Um exemplo mais claro, seu usuário escuta falar de um programa chamado “KAZAA” pelo seu conhecimento da língua portuguesa irá digitar “CASA” e não encontraria nada relacionado ao “KAZAA”, porem se fosse empregada está função ela retornaria “KZ” p/ “CASA”, e “KZ” também p/ “KAZAA” com tudo acharia oque o usuário estaria em busca. Em um sistema de busca p/ o processo ficar mais rápido o interessante seria criar uma coluna a mais p/ cada registro, onde fique gravado o resultado fonético, de forma que você não precisaria inferir a função para todos os registros a cada busca, e sim apenas p/ a string que esta sendo buscada. Espero ter esclarecido a sua duvida e possivelmente de outras pessoas! Obrigado.
Thiago Pádua
14/09/2003 11:01am
(~21 anos atrás)
Oi, até legal a função mais não encontro aplicação para ela, me ajuda com um exemplo ?
Abraço
Abraço
14/09/2003 8:14am
(~21 anos atrás)
Mas não atendeu a minha necessidade.
Se alguem souber e puder me ajudar.
Estou a procura de uma implementação soundex em pt-br.
No caso, meu maior problema, são as sequências "ão", "am", "aum", "an", "aun".
Valeu!