Ver Mensaje Individual
  #4 (permalink)  
Antiguo 30/08/2010, 21:08
Avatar de chalchis
chalchis
 
Fecha de Ingreso: julio-2003
Mensajes: 1.773
Antigüedad: 21 años
Puntos: 21
Sonrisa Respuesta: crear un buscador al estilo Operador Like de SQL

hola encontre una solución sobre todo empezando por remplazar los acentos, encontre
una funcion para remplazar, que fue lo que se hizo

1.-la cadena del array data, cuando lo voy recorriendo con $.grep lo convierto a minusculas
2.-remplazo los acentos
3.-compara el mach

este seria mi array original
Código Javascript:
Ver original
  1. var data= [{"ID" : "1", "titulo" : "Suspensión de vuelos de la linea Mexicana para niños, no es el fin de aerolínea: ASSA"},  
  2.    
  3.                          {"ID" : "2", "titulo" : "jQuery Métodos y Eventos Interesantes áhora línea"},  
  4.    
  5.                          {"ID" : "3", "titulo" : "Wall Street cae por suspensiones preocupación en la economía DÍA pingüino"}];

hacemos la busqueda
Código Javascript:
Ver original
  1. data2 = $.grep(data, function(n, i)
  2. {
  3.  
  4.    var cadena = n.titulo.toLowerCase();
  5.    var cadena = stripVowelAccent(cadena);
  6.    alert(cadena);//mostramos la cadena sin acentos
  7.    return cadena.match(/linea/gi);             
  8.  
  9. }

funcion que remplaza los acentos y ñ
Código Javascript:
Ver original
  1. function stripVowelAccent(str)
  2. {
  3.  var rExps=[
  4.  {re:/[\xC0-\xC6]/g, ch:'A'},
  5.  {re:/[\xE0-\xE6]/g, ch:'a'},
  6.  {re:/[\xC8-\xCB]/g, ch:'E'},
  7.  {re:/[\xE8-\xEB]/g, ch:'e'},
  8.  {re:/[\xCC-\xCF]/g, ch:'I'},
  9.  {re:/[\xEC-\xEF]/g, ch:'i'},
  10.  {re:/[\xD2-\xD6]/g, ch:'O'},
  11.  {re:/[\xF2-\xF6]/g, ch:'o'},
  12.  {re:/[\xD9-\xDC]/g, ch:'U'},
  13.  {re:/[\xF9-\xFC]/g, ch:'u'},
  14.  {re:/[\xD1]/g, ch:'N'},
  15.  {re:/[\xF1]/g, ch:'n'} ];
  16.  
  17.  for(var i=0, len=rExps.length; i<len; i++)
  18.   str=str.replace(rExps[i].re, rExps[i].ch);
  19.  
  20.  return str;
  21. }

saludos

solo me falta algo que el texto que busco debere convertirlo en minusculas y de igualmenra remplazar los acentos si los hay

saludos

espero sus comentarios
__________________
gerardo