Foros del Web » Programando para Internet » Jquery »

resaltar texto mediante busqueda

Estas en el tema de resaltar texto mediante busqueda en el foro de Jquery en Foros del Web. hola que tal , tengo una duda realice un script para buscar en una lista de texto palabras , pero solo me marca las palabras ...
  #1 (permalink)  
Antiguo 16/07/2015, 17:56
 
Fecha de Ingreso: julio-2015
Mensajes: 1
Antigüedad: 9 años, 4 meses
Puntos: 0
resaltar texto mediante busqueda

hola que tal , tengo una duda realice un script para buscar en una lista de texto palabras , pero solo me marca las palabras en conjunto y no me marca si es solo una palabra que se busca que puedo modificar para que me marque tanto 2 o mas palabras y una sola por busqueda, dejo el codigo.

<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script>
var texto="";
function resaltar(){
var encontro=0;
var donde=0;

valo=document.getElementById('tt').value;//caja de texto con id="tt"///


if (valo!=""){
val=valo.split("+");
valor=val.join("|");
reemplazar=RegExp("^("+valor+")$","i");
if(texto==""){texto=document.body.innerHTML};
txt=texto.split(">");
for (x=0;x<txt.length;x++){
desde=(txt[x].indexOf("<")!=-1)?txt[x].indexOf("<"):0;
tempP=txt[x].slice(0,desde);
tempU=txt[x].slice(desde);
tempPx=tempP.split(" ");
for(y=0;y<tempPx.length;y++){
if(tempPx[y].search(reemplazar)!=-1 ){
tempPx[y]="<span style=\u0022background-Color:yellow;\u0022>"+tempPx[y]+"</span>";
encontro+=1;
}
}
tempP=tempPx.join(" ");
for (r=0;r<val.length;r++){
tempR=RegExp(val[r],"i");
if (val[r].indexOf(" ")!=-1 && tempP.search(tempR)!=-1){
tempP=tempP.replace(tempR,"<span style=\u0022background-Color:yellow;\u0022>"+val[r]+"</span>");
encontro+=1;
}
}

txt[x]=tempP+tempU;

}
document.body.innerHTML=txt.join(">");
alert((encontro==0)?"No se encontro la carrera ''"+valor+"''":"Se encontro "+encontro+" carrera");

}
}
</script>

Etiquetas: busqueda, mediante, resaltar
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 11:08.