Saltar al contenido

Convertir caracteres especiales a HTML en Javascript

Si te encuentras con algún detalle que no entiendes puedes comentarlo y te responderemos tan rápido como podamos.

Solución:

En mi opinión, la mejor manera es utilizar la funcionalidad de escape HTML incorporada en el navegador para manejar muchos de los casos. Para hacer esto, simplemente cree un elemento en el árbol DOM y establezca el innerText del elemento a tu string. Luego recupera el innerHTML del elemento. El navegador devolverá un código HTML. string.

function HtmlEncode(s)

  var el = document.createElement("div");
  el.innerText = el.textContent = s;
  s = el.innerHTML;
  return s;

Prueba de funcionamiento:

alert(HtmlEncode('&;'><"'));

Producción:

&;'><"

Este método de escape de HTML también es utilizado por la biblioteca Prototype JS, aunque de manera diferente a la muestra simplista que he dado.

Nota: aún necesitará escapar de las comillas (dobles y simples) usted mismo. Puede utilizar cualquiera de los métodos descritos por otros aquí.

Necesitas una función que haga algo como

return mystring.replace(/&/g, "&").replace(/>/g, ">").replace(/

Pero teniendo en cuenta su deseo de un manejo diferente de las comillas simples / dobles.

Esta función genérica codifica cada carácter no alfabético en su código html (numérico):

function HTMLEncode(str) 
    var i = str.length,
        aRet = [];

    while (i--)  iC > 127 
    return aRet.join('');

Si te sientes motivado, puedes dejar una sección acerca de qué le añadirías a este escrito.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *