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

resaltar texto

Estas en el tema de resaltar texto en el foro de ASP Clásico en Foros del Web. Wenas: Quiero q en una cadena de texto se resalte mediante el cambio de color o algo similar alguna de las palabras que haya. Si ...
  #1 (permalink)  
Antiguo 04/09/2003, 10:32
Avatar de fjmasero  
Fecha de Ingreso: diciembre-2002
Mensajes: 488
Antigüedad: 22 años, 5 meses
Puntos: 1
resaltar texto

Wenas:

Quiero q en una cadena de texto se resalte mediante el cambio de color o algo similar alguna de las palabras que haya.

Si hago replace(cadena,strBuscar,strReemplazar)

donde strReemplazar sera el string con el cambio de color, lo hace pero también quiero que se haga tanto para mayusculas como para minusculas.

Es decir, si quiero resaltar la cadena asp, que se resalte donde aparezca asp y ASP.

¿Se os ocurre como?.

Salu2 y gracias.
__________________
No es sabio el que sabe sino el que no sabe y quiere aprender
  #2 (permalink)  
Antiguo 04/09/2003, 10:47
Avatar de Don Graff  
Fecha de Ingreso: noviembre-2002
Ubicación: San Bernardo - Chile
Mensajes: 410
Antigüedad: 22 años, 5 meses
Puntos: 0
repitiendo la instruccion...

replace(cadena,strBuscar,strReemplazar)

replace(CADENA,strBuscar,strReemplazar)
__________________
:cool: Visita Zona Powers :cool:
  #3 (permalink)  
Antiguo 04/09/2003, 11:21
Avatar de fjmasero  
Fecha de Ingreso: diciembre-2002
Mensajes: 488
Antigüedad: 22 años, 5 meses
Puntos: 1
Gracias Don Graff.

Tenia claro que para controlar las palabras en mayusculas y/o minusculas habría q incluir un replace para cada caso, pero ¿qué se puede hacer con el siguiente caso?:

Supongamos q tengo q buscar la cadena Ordenador (introducido por usr, con este formato) dentro de la cadena

Tengo mi ordenador 1 mi Ordenador 2 mi ORDENADOR 3 mi OrDENADor 4

Con los replace controlando las minusculas, las mayusculas y la cadena de forma exacta, resaltaria/reemplazaría 1, 2 y 3, pero no 4.

¿Alguna idea?.
__________________
No es sabio el que sabe sino el que no sabe y quiere aprender
  #4 (permalink)  
Antiguo 04/09/2003, 13:11
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
http://www.devguru.com/Technologies/...f/replace.html

prestale atención al argumento "COMPARE". Eso es lo que encesitás
__________________
...___...
  #5 (permalink)  
Antiguo 04/09/2003, 13:16
Avatar de Don Graff  
Fecha de Ingreso: noviembre-2002
Ubicación: San Bernardo - Chile
Mensajes: 410
Antigüedad: 22 años, 5 meses
Puntos: 0
tonces tendrias que pasarlas todas a mayusculas o minusculas con una de estas dos funciones...


UCase(<aquilavariable>)

LCase(<aquilavariable>)

el UCase te devuelve la variable completa en mayusculas y LCase en minusculas...


PD: me gano el dazuaga...
__________________
:cool: Visita Zona Powers :cool:

Última edición por Don Graff; 04/09/2003 a las 15:25
  #6 (permalink)  
Antiguo 05/09/2003, 04:55
Avatar de fjmasero  
Fecha de Ingreso: diciembre-2002
Mensajes: 488
Antigüedad: 22 años, 5 meses
Puntos: 1
.
__________________
No es sabio el que sabe sino el que no sabe y quiere aprender

Última edición por fjmasero; 05/09/2003 a las 05:05
  #7 (permalink)  
Antiguo 05/09/2003, 04:57
Avatar de fjmasero  
Fecha de Ingreso: diciembre-2002
Mensajes: 488
Antigüedad: 22 años, 5 meses
Puntos: 1
solución

Lo he solucionado mediante la siguiente function:

Código:
 Function Resalta(texto, palabras)
    dim cadena, esta_en, exacta
    cadena = texto
    for each m in arrayPalabras 'para cada palabra a resaltar, reconstruimos el string con el texto completo
      esta_en = instr(1,texto,m,1) 'localizamos donde esta el substring a resaltar dentro del string completo
      while esta_en <> 0 'mientras el string a resaltar este en el texto original
        exacta = mid(texto,esta_en,len(m)) 'extraemos el string del texto completo para asi poder reconstruir con el html para resaltar y al reconstruir, que lo haga con el = mismo formato en q estaba
        cadena = replace(cadena,exacta,"<span style='color: red; font-weight: bold'>"&exacta&"</span>")
        esta_en = instr(esta_en+1,texto,m,1) '+1 para q no se quede siempre en la misma posicion, lo q provocaria bucle infinito
      wend
    next
  
    Resalta = cadena
  End Function
Recibe texto = texto donde están las substrings a resaltar
palabras = array con palabras a resaltar

Salu2 y gracias a todo por vuestra ayuda

__________________
No es sabio el que sabe sino el que no sabe y quiere aprender

Última edición por fjmasero; 05/09/2003 a las 05:58
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 05:45.