viernes, 14 de octubre de 2016

JavaScript - Reemplazo de texto mediante Expresiones Regulares

Después de mucho tiempo me tome un tiempo para escribir algo mas para el blog, en este caso traigo una utilidad para los blogs. Muchas veces el spam agobia y como no tienes un servidor (y usas blogger) no puedes editar la base de datos de tu blog.

Así que te traigo una simple pero efectiva solución a tu problema:

<!DOCTYPE html>
<html>
<head>
    <script>
    window.onload = function (){ //Carga en cuanto termina de cargar la pagina.
        var resultado =
document.getElementById("comentarios").innerHTML.match(/[-a-zA-Z0-9@:%_\+.~#?&//=]{2,256}\.[a-z]{2,4}\b(\/[-a-zA-Z0-9@:%_\+.~#?&//=]*)?/ig); //Conseguir un Array de los matches.
        for(var i = 0; i < resultado.length; i++) //Itera desde 0 hasta el maximo de resultado.
           
document.getElementById("comentarios").innerHTML = document.getElementById("comentarios").innerHTML.replace(resultado[i], "Link censurado"); //Reemplaza el texto.
    };
    </script>
</head>
<body>
    <div id="comentarios">
        <h1>google.com</h1>
        <br>texto sin url
        <br>blogger.com</div>
</body>
</html>


Listo para probar.

EDIT 16/10: Extrañamente el código no funcionaba acortándolo.