Contenido

Probando una corrección en los comentarios con Ajax

31 Ago

+ 8

Temporalmente desactivado

Mucha gente se me ha quejado de un problema que tengo en el sistema de comentarios con los tags <code></code>. El problema radíca en que nosotros estamos enviando código sin tratar al formulario de envio mediante Ajax, y lo está tratando antes de guardar los datos. De forma que a la página me llega el resultado del código del comentario y no el comentario en si.

Creo que no es un problema que me pase a mi solamente, creo que debe pasar en todas las web’s con insercción de comentarios con ajax.

Para ello he hecho una pequeña función en JS aprovechando las ventajas que nos aportan las expresiones regulares.

function encodeText (texto) {
        var regExp = /<code>(.|\n)*<\/code>/  
        if (regExp.test(texto)) {  
            return texto.replace(/<code>((.|\n)*)<\/code>/g,"[!]$1[¡]").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/\[!\]((.|\n)*)\[¡\]/g,"<code>$1</code>");  
        }  
        return texto;  
    }  

De esta forma convertimos los caracteres < y > en su correspondiente valor HTML que encontremos dentro de los tags <code></code>.

Esto <strong>no</strong> se tratará y lo reconocerá como un HTML normal  
<code> pero esto <strong>si</strong> que se tratará y podremos ver los tags</code>

Obteniendo el siguiente resultado:

Esto no se tratará y lo reconocerá como un HTML normal
  
pero esto <strong>si</strong> que se tratará y podremos ver los tags

Aún no lo he podido probar mucho, pero si notais algo raro por favor avisar.

Comentar

#

Me reservo el derecho de eliminar y/o modificar los comentarios que contengan lenguaje inapropiado, spam u otras conductas no apropiadas en una comunidad civilizada. Si tu comentario no aparece, puede ser que akismet lo haya capturado, cada día lo reviso y lo coloco en su lugar. Siento las molestias.