Ver Mensaje Individual
  #6 (permalink)  
Antiguo 13/11/2007, 14:14
Avatar de Shiryu_Libra
Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 18 años, 1 mes
Puntos: 88
Re: Palabras contenidas dentro de otras palabras

a lo mejor esto te puede servir.....
Código PHP:
    ' texto al que se le buscaran las palabras
    texto=request.Form("criterio")
     '
criterio de busqueda
    texto2
=request.Form("criterio2")
    
'valor en sustitucion
    modtxt2=replace(texto2,texto2,"<strong>"&texto2&"</strong>")
    '
limpiamos la cadena
    modificado
=replace(texto,","," ")
    
modificado=replace(modificado,"."," ")
    
modificado=replace(modificado,";"," ")
    
modificado=replace(modificado,"-"," ")
    
modificado=replace(modificado,"--"," ")
    
modificado=replace(modificado,"?"," ")
    
modificado=replace(modificado,"¿"," ")
    
modificado=replace(modificado,"¡"," ")
    
modificado=replace(modificado,"!"," ")
    
modificado=replace(modificado,"°"," ")
    
modificado=replace(modificado,"'"," ")
    
modificado=replace(modificado,","," ")
    
modificado=replace(modificado,"  "," ")
    
'creamos un arreglo de las palabras, para busqueda del campo requerido
    txtarray=split(modificado," ")
    '
DECLARACION DE LOS ARREGLOS Y VALORES DE CONTADOR
    dim adjtxtarray
()
    
dim strtxtarray()
    
j=0
    k
=0
    
'REALIZAMOS LA VERIFICACION DE TODAS LAS CASILLAS
    for i=0 to ubound(txtarray)
        '
SI LA LONGITUD ES MENOR O IGUAL A 3
        
'LA SEPARAMOS DE LA CADENA DE BUSQUEDA
        if len(txtarray(i))<=3 then
            '
REDIMENSIONAMOS NUESTRO ARREGLO
            redim preserve adjtxtarray
(k)
            
'GUARDAMOS LOS VALORES QUE SERAN INNECESARIOS
            '
SOLO PARA MOTIVOS DE DESPLIEGUE
            adjtxtarray
(k)=txtarray(i)
            
'AUMENTAMOS NUESTRO CONTADOR
            k=k+1
        '
CASO CONTRARIO Y SEA MAYOR DE 3
        
else
            
'REDIMENSIONAMOS EL ARREGLO DE VALORES A UTILIZAR
            redim preserve strtxtarray(l)
            '
NOS FIJAMOS SI EL VALOR QUE BUSCAMOSCOINCIDE CON NUESTRO CRITERIO
            
if instr(txtarray(i),texto2)<>0 then
                
'SUSTITUIMOS LA PALABRA POR EL VALOR MODIFICADO PARA RESALTE
                strtxtarray(l)=replace(txtarray(i),texto2,modtxt2)
            else
            '
SI NO SE ENCONTRABASOLO GUARDAMOS EL VALOR
                strtxtarray
(l)=txtarray(i)
            
end if
            
'INCREMENTAMOS NUESTRO CONTADOR INTERNO
            l=l+1
        end if
    next
    '
RESPONDEMOS QUE VALORES OMITIMOS EN LA BUSQUEDA
    response
.Write "se han omitido las siguientes palabras <br/>("
        
escarray(adjtxtarray)
    
response.Write ").<br/> "
    
TAMBIEN MOSTRAMOS LOS VALORES QUE REALMENTE SE BUSCARAN
    response
.Write "los valores a considerar en la busqueda seran: <br/>("
        
escarray(strtxtarray)
    
response.Write ")<br/>." 
esta comentada, verifica si te funciona y en dudas... postea
__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra