Ir para conteúdo
Fórum Script Brasil
  • 0

Comparação De Strings


rptl

Pergunta

Existe alguma função que compare strings PARECIDAS, não somente case sensitives, mas tambem ver alguns caracteres parecidos, exatamente como o LIKE do mysql?

por exemplo as strings:

$a = "a casa é verde e tem janela amarela";

$b = "casa verde e janela Amarela";

$c ="a casa é Verde e tem janela am;rela!!!";

$d = "a casa verde tem janela amarelA.";

notem que as 4 strings que dei como exemplo tem um texto bem parecido mas nenhuma é igual a outra.

queria uma função retornasse TRUE quando fizesse uma comparacao dessas frases.

existe alguma funçao pra isso?

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0
Guest - Gomes -

Opá,

O que você quer fazer é tipo um bot de pesquisa???

Caso sim... voce tem alternativas, mas uma função pronta não existe (até hj nada)...

beleza!!

Até+

Link para o comentário
Compartilhar em outros sites

  • 0

é tipo isso, mas não exatamente.

deixa eu explicar o caso: tenho que usar uns criterios pra ver se não tem informacoes parecidas em uma base oracle.

gerei um txt da base e agora tenho que ver os termos parecidos no mesmo registro, pra evitar duplicidade de indices.

mas esquece o oracle, estamos trabalhando com txt, ou melhor, com strings e variaveis. já consegui separar as strings que precisava, agora é só fazer a tal da comparação... só quero comparar uma variavel pra ver se é PARECIDA com outra. sad.gif

Link para o comentário
Compartilhar em outros sites

  • 0
Guest - Gomes -

Olha , voce poderia utilizar o comando stristr (mas somente se as variaveis tiverem uma sequencia de palavras comuns)

Ex:

$frase = "Hoje é Terça Feira";

$palavra = "ter";

para comparar

if(stristr($frase,$palavra) executa algo;

Mas se voce quer procurar mais de uma palavra(outra frase) em uma frase AÍ....

Que os programadores em PHP me perdoem mas.....

Voce pode fazer um ajuste técnico(leia gambiarra).

Utilize o comando explode(ou split) para quebrar as palavras em array e pesquise uma a uma.....

Bom espero ter ajudado.

Link para o comentário
Compartilhar em outros sites

  • 0
Guest - Gomes -

O post do fabyo mostra algumas funções que voce pode usar em relação a comparação de strings.

Mas se for no caso de ficar procurando palavras fora de sequencia, com palavras intermediando uma frase.... você vai penar um pouquinho.

Certo?? cool.gif

Até +

Link para o comentário
Compartilhar em outros sites

  • 0

bom, já que não existia nada pronto, fiz uma funcao pra isso e ficou muito bom. acho que ficou bem longe de considerado 'gambiarra' como nosso amigo sugeriu acima.

sintaxe: comparar(frase1, frase2, numero de palavras pra ser considerado frase parecida, numero de letras pra palavra entrar na contagem)

retorna verdadeiro se: tiver o numero de palavras maiores ou iguais ao que se definiu no terceiro parametro da funcao entre a duas frases. Só entra na contagem de palavras iguais as que tiverem numero de letras maiores ou iguais definidas no ultimo parametro da funcao.

function comparar($frase1,$frase2,$numero_palavras,$numero_letras){
        $contapalavras = 0;
        $palavra=explode(" ", $frase1);
        for ($i = 0; $i <= count($palavra); $i++){
            if (strlen($palavra[$i]) >= $numero_letras){
                if (eregi($palavra[$i], $frase2)) {
                        $contapalavras++;
                }
            }
        }
        if ($contapalavras >= $numero_palavras){
            return true;
        } else {
            return false;
        }
}

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,7k
×
×
  • Criar Novo...