Ver Mensaje Individual
  #10 (permalink)  
Antiguo 17/07/2010, 14:32
Avatar de Adler
Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 10 meses
Puntos: 126
Respuesta: buscar texto en una pagina web

Hola

Te he optimizado el js, así que usa este. También te he montado un caso para que veas a lo que me refiero. Guarda el código con extension .php y escribe en el textfield una "s"

Código Javascript:
Ver original
  1. <?php
  2. $url = file_get_contents('http://www.monografias.com/trabajos5/asp/asp.shtml', true);
  3. $codigo =  $url;
  4. ?>
  5.  
  6. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  7. <html xmlns="http://www.w3.org/1999/xhtml"lang="es" xml:lang="es">
  8. <head>
  9. <meta name="http-equiv" content="Content-type: text/html; charset=UTF-8"/>
  10. <script type="text/javascript">
  11. var vuelta = 0;
  12. var cadena = '';
  13. var len = 0;
  14. function Resaltar(c,ev) {
  15. var caracteresInput = c.length;
  16. var largo_cadena = len;
  17. var keyCode = document.layers ? ev.which : document.all ? event.keyCode : document.getElementById ? ev.keyCode : 0;
  18.    
  19.     if (keyCode == 8) vuelta--;
  20.         if (vuelta < 1) {
  21.                 //cadena += document.getElementById('texto').firstChild.nodeValue;
  22.         cadena = document.getElementById('texto').innerHTML;
  23.         var largo2_cadena = cadena.length
  24.  
  25.         if (largo2_cadena >= largo_cadena) {len = largo_cadena;}
  26.         if (largo_cadena == 0) {len = largo2_cadena;}
  27.         }
  28.  
  29.  
  30.  
  31.     if (caracteresInput == 0) {
  32.         document.getElementById('texto').innerHTML = cadena;
  33.         document.getElementById('terminos').style.border = '';
  34.     } else {
  35.  
  36. var rg = new RegExp(c,"g");
  37.  
  38.             if (rg.exec(cadena.substr(0,parseInt(len))) != null) {
  39.                 var marca = cadena.substr(0,parseInt(len)).replace(rg, '<span style=\"background-color:#9ACD32;color:#FFFFFF;\">' + c + '</span>');
  40.                     document.getElementById('texto').innerHTML = marca;
  41.             document.getElementById('terminos').style.border = 'solid #9ACD32 1px';
  42.             } else {
  43.             document.getElementById('texto').innerHTML = cadena;
  44.             document.getElementById('terminos').style.border = 'solid #FF0000 1px';
  45.         }
  46. vuelta++;
  47.     }
  48.  
  49. }
  50. </script>
  51. </head>
  52. <body>
  53. <form method="post" action="" name="" autocomplete="off">
  54. Buscar Terminos: <input type="text" value="" id="terminos" onkeyup="Resaltar(this.value,event);" />
  55. <div id="texto"><?php echo $codigo;?></div>
  56. </form>
  57. </body>
  58. </html>

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />