Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/04/2009, 16:00
raztafari123
 
Fecha de Ingreso: febrero-2006
Mensajes: 44
Antigüedad: 18 años, 1 mes
Puntos: 0
Comparacion de mayor similitu de cadenas

hola que tal, estoy tratando de hacer una funcion que me compare cadenas, exactamente direcciones domiciliarias, ejemplo:

Código PHP:
<?php
$dir1 
"AVENIDA FAUCETT 365 STAND 5 URB=MARANGA";
$dir2 "AV FAUCETT 365 STAND 5 URB. MARANGA";
?>
usando mi criterio pense en usar
Código PHP:
function OptimaDir ($cadena){
    
$cadena strtoupper($cadena)
    
$cadena str_replace (" AVENIDA "" "$cadena );
    
$cadena str_replace (" AV. "" "$cadena ); 
    
$cadena str_replace (" AV "" "$cadena ); 
    
$cadena str_replace (" URBANIZACION "" "$cadena );
    
$cadena str_replace (" URBANIZ. "," ",$cadena);
    
$cadena str_replace (" URB="" "$cadena );
    
$cadena str_replace (" URB."" "$cadena );
    
$cadena str_replace ("URB="" "$cadena );
    
$cadena str_replace (" URB "" "$cadena ); 
    
$cadena str_replace (" CALLE "" "$cadena );
    
$cadena str_replace (" CA."" "$cadena );
    
$cadena str_replace (" CA "" "$cadena );
    
$cadena str_replace (" CL "" "$cadena ); 
    
$cadena str_replace (" PASAJE "" "$cadena ); 
    
$cadena str_replace (" PJ."" "$cadena ); 
    
$cadena str_replace (" PJ "" "$cadena ); 
    
$cadena str_replace (" ASOCIACION "" "$cadena ); 
    
$cadena str_replace (" ASOC. "" "$cadena ); 
    
$cadena str_replace (" ASOC "" "$cadena ); 
    
$cadena str_replace (" ASENTAMIENTO HUMANO "" "$cadena ); 
    
$cadena str_replace (" A.HUMANO "" "$cadena );
    
$cadena str_replace (" AA.HH. "" "$cadena ); 
    
$cadena str_replace (" AAHH "" "$cadena );
    
$cadena str_replace (" AH "" "$cadena );
    
$cadena str_replace (" NUMERO "" "$cadena );
    
$cadena str_replace ("LOTE="" "$cadena );
    
$cadena str_replace (" LOTE "" "$cadena );
    
$cadena str_replace (" L.T. "" "$cadena );
    
$cadena str_replace (" LT."" "$cadena );
    
$cadena str_replace (" LT. "" "$cadena );
    
$cadena str_replace (" LT "" "$cadena );
    
$cadena str_replace (" LT-"" "$cadena );
    
$cadena str_replace (" LT="" "$cadena );
    
$cadena str_replace (" INTERIOR "" "$cadena );
    
$cadena str_replace (" INT. "" "$cadena );
    
$cadena str_replace (" INT "" "$cadena );
    
$cadena str_replace (" MZ. "" "$cadena );
    
$cadena str_replace (" MZ-"" "$cadena );
    
$cadena str_replace (" MZ="" "$cadena );
    
$cadena str_replace (" MZ "" "$cadena );
    
$cadena str_replace (" JIRON "" "$cadena );
    
$cadena str_replace (" JR. "" "$cadena );
    
$cadena str_replace (" JR "" "$cadena );
    
$cadena str_replace (" DEP. "" "$cadena );
    
$cadena str_replace (" DEP "" "$cadena );
    
$cadena str_replace (" DP "" "$cadena );
    
$cadena str_replace (" P-"" "$cadena );
    
$cadena str_replace (" P "" ",$cadena);
    return 
$cadena;

para quitar las palabras comunes o preestablecidas como URBANIZACION = URB. = URB y despues comparar asi
Código PHP:
if(OptimaDir($dir1) == OptimaDir($dir2));
echo 
cadenas iguales;

pero necesito hallar una forma mas optima en la cual contemple una variacion minima de caracteres, agradeceria mucho la ayuda