Ver Mensaje Individual
  #12 (permalink)  
Antiguo 28/01/2013, 07:14
Avatar de emprear
emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: expresion regular

Sigo insistiendo con lo planteado en
http://www.forosdelweb.com/f13/expre...7/#post4356641
Como ya te han expresado, hay muchos inconvenientes en utilizar una expresión regular.
Esta podría ser una alternativa, ahora que si el texto en el cual reemplazar proviene sencillamente de una cadena, no sirve (podrías llegado el caso hacerse algo con php)
Código HTML:
Ver original
  1. <!DOCTYPE html>
  2. <html lang="es-ar">
  3. <meta charset="utf-8" />
  4. <title>Reemplazar Texto</title>
  5. <script type="text/javascript">
  6. //<![CDATA[
  7. function reemplazar() {
  8. var a =document.body.getElementsByTagName("*");
  9. for (i=0; i < a.length; i++) {
  10. var texto =a[i].innerHTML;
  11. // utilizamos una palabra clave, emprear, y substituimos en todo el documento, en todos los nodos
  12. a[i].innerHTML = texto.replace(/pdvsa/gi,"emprear");
  13. }
  14.  
  15. // revertimos la substitución en los tags A, reestablecemos el title, href e innerHTML
  16. var b =document.body.getElementsByTagName("a");
  17. for (c=0; c < b.length; c++) {
  18. var titulo = b[c].title;
  19. var links = b[c].href;
  20. var contenido = b[c].innerHTML;
  21. if(titulo){
  22. b[c].title = titulo.replace(/emprear/gi,"pdvsa");
  23. }
  24. b[c].href = links.replace(/emprear/gi,"pdvsa");
  25. b[c].innerHTML = contenido.replace(/emprear/gi,"pdvsa");
  26. }
  27.  
  28. alert(document.body.innerHTML);
  29.  
  30. }
  31. //]]>
  32. </head>
  33. <h1>Pdvsa</h1>
  34. <h4 id="demo">petroleo <a href="pdvsa.html" title="pdvsa 1 t">pdvsa 1</a> pdvsa</h4>
  35. <div><p><a href="pdvsa.html">pdvsa 2 </a></p></div>
  36. <div><p><a href="pdvsa.html" title="pdvsa 3 t"><span>pdvsa 3 </span></a></p></div>
  37. <pre>
  38.     pdvsa
  39.     PDVSA
  40.     Pdvsa
  41. </pre>
  42. <button onclick="reemplazar()">reemplazar</button>
  43. </body>
  44. </html>

Habría que corregir ó afinar un detalle, el caso de las mayúsculas/minúsculas en los hrefs de los links

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.