Buscador en asp

Estoy desarrollando un site web en el cual deseo incluir un buscador (interno, para buscar en mi site). El site consta de:
-Páginas dinámicas en asp (que se conectan a bases de datos).
-Algunas páginas están en html.
Cuando las búsquedas se hacen en las bases de datos no hay problema. El problema lo encuentro a la hora de buscar en las páginas html. Había pensado en lo siguiente:
-Leer los archivos html y guardar esos datos en una variable.
-Mediante la función InStr()buscar las coincidencias con el texto introducido por el usuario.
-Crear los enlaces correspondientes.
El problema lo encuentro a la hora de comparar el código. Mediante la función
Fichero.readAll() leo el fichero html, pero esto me lee el código fuente. Es decir, si el usuario me introduce la cadena de búsqueda "pirámide", el buscador va a buscar "pirámide", pero realmente en mi página html pirámide está escrito como "pirámide", con lo cual la búsqueda no es factible.
He probado a convertir la cadena de búsqueda con server.HtmlEncode, pero el código generado es distinto (es decir, pirámide lo convierte a "pirámide".
La pregunta es la siguiente: ¿Se te ocurre algo para subsanar este problema? Gracias de antemano.

1 respuesta

Respuesta
1
Bueno de entrada se me ocurre que podrás desarollarte una función que coja la cadena de búsqueda y vaya analizando cada carácter, cuando encuentre vocales acentuadas (á, é,..) las "ñ", etc las sustituya por sus correspondientes caracteres en código HTML.
Además esta cadena te servirá para depurar la cadena de búsqueda, eliminanod caracteres indeseables (/,&,...) e incluso para eliminar palabras que no son determinantes en la búsqueda, como (de, a, con,...)
Hay otras opciones pero me parecen menos operativas, como guardar una versión de texto plano de la los contenidos de la página y que realice la búsqueda directamente pero te obliga a actualizar esos ficheros cada vez que modifiques su página HTML asociada.

Añade tu respuesta

Haz clic para o
El autor de la pregunta ya no la sigue por lo que es posible que no reciba tu respuesta.

Más respuestas relacionadas