Foros del Web » Programando para Internet » ASP Clásico »

crear un identificador de palabras, estas vienen de una bd.

Estas en el tema de crear un identificador de palabras, estas vienen de una bd. en el foro de ASP Clásico en Foros del Web. Hola, entre algunas ocupaciones que tengo neceisto crear un identificador de palabras, esto es para que cuando se despliegue un texto (de n cantidad de ...
  #1 (permalink)  
Antiguo 24/03/2005, 11:58
 
Fecha de Ingreso: noviembre-2003
Mensajes: 343
Antigüedad: 21 años, 6 meses
Puntos: 0
crear un identificador de palabras, estas vienen de una bd.

Hola, entre algunas ocupaciones que tengo neceisto crear un identificador de palabras, esto es para que cuando se despliegue un texto (de n cantidad de palabras), se subrayen de algun tipo las palabras que se encuentran en alguna tabla en mi base de datos.

por ejemplo en la tabla noticias tengo mis campos id,titulo,texto_completo y en mi tabla diccionario tengo mis campos id, palabra, significado.

Lo que necesito es que cuando se despliegue un registro de mi tabla noticias se subrayen las palabras de texto_completo que se encuentran en mi base de datos diccionario.

Si alguien sabe como hacer esto o tiene alguna idea pues estoy en linea todo el santo dia GRACIAS. y si requieren algo de otra cosa pues no duden en perdilo ciao..
__________________


La tecnología es un hecho objetivo, y el resultado está sujeto a la voluntad humana.
  #2 (permalink)  
Antiguo 24/03/2005, 12:06
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 4 meses
Puntos: 98
Que tal mandar todo el contenido a una funcion que lea cada una de las palabras y compare si se encuentran en la base de datos, si se encuentran les hace un replace por
"<a href=pagina_diccionario.asp?id=" & rs("id") & ">" & "palabra</a>" y regresa el texto completo ya con los links?

Mis $0.02
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #3 (permalink)  
Antiguo 24/03/2005, 12:09
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 24 años, 2 meses
Puntos: 535
Siempre me pregunté cómo hacen esas cosas de manera eficiente... porque la manera que se me ocurre de hacerlo, no creo que lo sea. Sería ésta:

1- Al contenido del campo texto_completo hacerle un split por el espacio para separarlo en palabras dentro de un array.
2- Traer el contenido de todo el diccionario a un array
3- Por cada elemento del priemr array (por cada palabra) recorrer el segundo array (el diccionario) para ver si hay coincidencias... si las hay, se crea el "info tip" (la descripcón de esa palabra) y si no hay conicidencias no se crea.

Pero... yo lo veo muy pero muy ineficiente. Imaginá un texto con, digamos, 2000 palabras y unas 500 definiciones en el diccionario. Por cada palabra hay que recorrer un array de 500 elementos... lo que daría un total de ¡¡¡1.000.000 de comprobaciones!!! (si no estoy errado )

A mi también me gustaría escuchar otras soluciones :D
__________________
...___...
  #4 (permalink)  
Antiguo 24/03/2005, 12:15
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 4 meses
Puntos: 98
Si, es cierto, a lo mejor valiendose de expresiones regulares :-p pero nunca les he entendido bien je je je
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #5 (permalink)  
Antiguo 24/03/2005, 16:40
 
Fecha de Ingreso: diciembre-2004
Ubicación: Bs. As. - Argentina
Mensajes: 200
Antigüedad: 20 años, 5 meses
Puntos: 0
Me parece que la de u_goldman es un poco mas rápida dado que en el ejemplo de al zuwaga correría "solamente" 500 veces el replace. Pero sigue siendo una pelota!!!
Ademas tenes le problema de manejar los blancos laterales con cuidado para que en la palabra "casado" no te subraye solo "casa"

Si la opcion es expresiones regulares, a mi no me miren. Yo no tengo ni idea de eso.
__________________
Javo.
www.thesitewatcher.com
Monitoreo y Auditoría de Sitios de Internet
  #6 (permalink)  
Antiguo 24/03/2005, 17:07
 
Fecha de Ingreso: noviembre-2003
Mensajes: 343
Antigüedad: 21 años, 6 meses
Puntos: 0
eh intentando hacerlos con los arreglos sin embargo y no creo que sea mi conexión es muy lento ya que si hay mas de 100 palabras que se encuentren en el diccionario pues si es tardado.!!!!!!!!, sin embargo no eh tenido problemas con los de los blancos laterales como dice javopereira. pero me es ineficiente mi codigo.
Alguna solución para realizar este tipo de procesos..????
__________________


La tecnología es un hecho objetivo, y el resultado está sujeto a la voluntad humana.
  #7 (permalink)  
Antiguo 24/03/2005, 17:15
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 4 meses
Puntos: 98
http://www.4guysfromrolla.com/webtech/090199-1.shtml

Hay que leer con cuidado y hacer pruebas, pero es muy posible que a traves de esto resuelvas tu problema.

Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #8 (permalink)  
Antiguo 24/03/2005, 18:59
 
Fecha de Ingreso: noviembre-2003
Mensajes: 343
Antigüedad: 21 años, 6 meses
Puntos: 0
Gracias deja reviso el link y comento algo despues gracias---
__________________


La tecnología es un hecho objetivo, y el resultado está sujeto a la voluntad humana.
  #9 (permalink)  
Antiguo 26/03/2005, 12:50
 
Fecha de Ingreso: noviembre-2003
Mensajes: 343
Antigüedad: 21 años, 6 meses
Puntos: 0
No pues para usar lo de las expresiones regulares se necesita demasiado tiempode aprendisaje por que la verdad no les entedi..... ....tendremos que estudiar
__________________


La tecnología es un hecho objetivo, y el resultado está sujeto a la voluntad humana.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:03.