Ver Mensaje Individual
  #135 (permalink)  
Antiguo 11/06/2003, 15:24
Avatar de Kaopectate
Kaopectate
Colaborador
 
Fecha de Ingreso: diciembre-2001
Ubicación: Curaçao (Antillas Holandesas)
Mensajes: 3.179
Antigüedad: 23 años
Puntos: 38
137.- Comparar las palabras de dos listas

P: ¿Como puedo comparar las palabras de un elemento textarea respecto a las palabras existentes en otro textarea?

R:

Código PHP:
<html>
 <
head>
  <
script language="JavaScript">

   function 
separa(sTxtsSep){
    var 
sTx2 "";
    var 
bPalabra false;
    for (var 
0sTxt.lengthj++){
     if (
sSep.indexOf(sTxt.charAt(j)) != -1){
      if (
bPalabrasTx2 += " ";
      
bPalabra false;
     } else {
      
bPalabra true;
      
sTx2 += sTxt.charAt(j);
     }
    }
    return 
sTx2;
   }

   function 
comunes(aIzqaDer){
    var 
ijnRessPal;
    
nRes 0;
    
sPal "";
    for (
0aIzq.lengthi++)
     for (
0aDer.lengthj++)
      if (
aIzq[i] == aDer[j])
       if (
sPal.indexOf(aIzq[i]) == -1){
        
nRes++;
        
sPal += " " aIzq[i];
       }
    
document.frm.comunes.value String(nRes);
   }

   function 
soloEnA(aIzqaDer){
    var 
ijnRessPalbPresente;
    
nRes 0;
    
sPal "";
    for (
0aIzq.lengthi++){
     
bPresente false;
     for (
0; (aDer.length) && !bPresentej++)
      
bPresente = (aIzq[i] == aDer[j])
     if (!
bPresente && (sPal.indexOf(aIzq[i]) == -1)){
      
nRes++;
      
sPal += " " aIzq[i];
     }
    }
    
document.frm.soloA.value String(nRes);
   }

   function 
soloEnB(aIzqaDer){
    var 
ijnRessPalbPresente;
    
nRes 0;
    
sPal "";
    for (
0aDer.lengthi++){
     
bPresente false;
     for (
0; (aIzq.length) && !bPresentej++)
      
bPresente = (aDer[i] == aIzq[j])
     if (!
bPresente && (sPal.indexOf(aDer[i]) == -1)){
      
nRes++;
      
sPal += " " aDer[i];
     }
    }
    
document.frm.soloB.value String(nRes);
   }

   function 
calcula(){
    var 
sIzqsDeraIzqaDer;
    
sIzq separa(document.frm.texto.value";.,:");
    
sDer separa(document.frm.diccionario.value";.,:");
    
sIzq sIzq.replace(/[rnf]/g" ");
    
sDer sDer.replace(/[rnf]/g" ");
    
aIzq sIzq.split(" ");
    
aDer sDer.split(" ");
    
comunes(aIzqaDer);
    
soloEnA(aIzqaDer);
    
soloEnB(aIzqaDer);
   }
  
</script>
 </head>
 <body>
  <form name="frm">
   <table border="0">
    <tr>
     <td align="center">
      Area A
     </td>
     <td align="center">
      Area B
     </td>
    </tr>
    <tr>
     <td align="left">
      <textarea name="texto" onkeyup="calcula()"></textarea>
     </td>
     <td align="right">
      <textarea name="diccionario" onkeyup="calcula()"></textarea>
     </td>
    </tr>
    <tr>
     <td colspan="2" align="center">
      <table border="0">
       <tr>
        <td align="left">
         En A y no en B
        </td>
        <td align="center">
         Comunes
        </td>
        <td align="right">
         En B y no en A
        </td>
       </tr>
       <tr>
        <td align="left">
         <input type="text" name="soloA">
        </td>
        <td align="center">
         <input type="text" name="comunes">
        </td>
        <td align="right">
         <input type="text" name="soloB">
        </td>
       </tr>
      </table>
     </td>
    </tr>
   </table>
  </form>
 </body>
</html> 

Última edición por Kaopectate; 11/06/2003 a las 15:21