@fernando, no fue y tampoco es para quitarle mérito a tu sugerencia. pues con innerHTML es mucho más fácil y rápido de implementar. simplemente el detalle que mencionaba, si hay scripting puede colapsar. por ejemplo, el mismo ejemplo anterior pero con innerHTML.
Código:
document.body.innerHTML = document.body.innerHTML.replace(/\b[aeiou][\w\xc0-\xff]{3,}/ig, "<img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAPCAYAAAA71pVKAAACtklEQVR42k2T2UtUURjA5x/pKRJ6rSAKhBYo0hnHmbGgoo00lRaqhwiiIMO3wuyhiEiMdLyzuRXagiJKWebWqIzO4kLqNOPYbN6cxc6vcyeHPPDjcDjf7/u+cz+uTo2HRSYRkqyITEqVJER6LShSsYBYj7iFGuwXyflWkfA25HbtLpNJi3A4LHSZoReC0QbEyEvwdfNnsY/0Yhep+RbUmTrUyRrWvt8mKVmbuEvqhwORChOLxdBlbCcESinpZhPrTRb+2I1klUNk3p0jNVHHb98z1hcUom4rfsd9IqNNbMQniUXDUm6xCKx6Npr0rDUWy72Ijca9ZF8f5Pfb60R6Gxiur8Fl2I1yeDuOozv5UlvJ7OD7TbnFADYL2TeXyfTU8Kv1Dt7HlXy6qqezdD/2ov3Yju1B0Sjah1JcSPu1Cikrsu3OCnA3Ex94xddbJ+ky7qL1YIEUCrEaj0mKaC4tluixmkpQzKU4qyvRqa5ykf36DPX7WzoP7MC5bxu2wgKshiNYzf8CbRYTDo0yMy7LP9qrq9AtfXwifvXWEx3rZOrpPbrPlmCXVewy2ClxmTfZlFo3aa+SlRdmZ8TUUB8jAx8YGujB09/H+5s3cJiMOLX2TFuQ53yinCznJVRVJR6Ps7Kygs/nJ7Ic5POjh7SdPiW7MGI3lvxHnrUEOVkKQhu4RjQaJRgMEvAHmPP5mGxro/vKZTmMYpQSA7Y8MonrkvzaMlhEIhFCoVBO1PbQzxDz83P4Z2YITnvor32Qk1sM+hyKxFl+Ed3q6qqQkEwmSSQSudbzifx+P16vl9DSIt9ePKft3Bkcx8tov3Cez42N6NLptJCL/Mpms7lEWjfLy8sEAgGmp6fxezxM9fbg7ujANzjIrHyWTvs78m/eitaNJmvVPVJ0u92Mjo4wPDzM2NgY4+Pj/AX3Yq+5ByJz6QAAAABJRU5ErkJggg=='>");
si vas a la página de inicio e introduce en la consola el código, debes notar que no sólo el menú de navegación, sino que también los tooltips de los foros (las estadísticas que se muestran en un cuadro negro) colapsan, además de la alteración en la estructura html. el ejemplo es severo porque además de considerar el texto a nivel del cuerpo también se considera el código html. a lo que quiero llegar es que depende mucho del punto de partida y el contenido de este. para efectos del autor, es muy poco probable que el patrón
:emoticon: se encuentre en el código html, pero pudiera colapsar algún scripting aplicado.