2012-05-04 16 views
8

para Google Pretisezar para mostrar muestra de código HTML correctamente, debe reemplazar todos los < con &lt; y todos los > con &gt;.Usando Google Pretise para mostrar HTML

¿Cómo se automatiza ese proceso usando solo JavaScript?

Respuesta

20

Si coloca el código dentro de un elemento <xmp>, no es necesario para escapar caracteres especiales HTML como se muestra en la tests

<h1>HTML using XMP</h1> 
<xmp class="prettyprint" id="htmlXmp" 
><html> 
    <head> 
    <title>Fibonacci number</title> 
    </head> 
    <body> 
    <noscript> 
     <dl> 
     <dt>Fibonacci numbers</dt> 
     <dd>1</dd> 
     <dd>1</dd> 
     <dd>2</dd> 
     <dd>3</dd> 
     <dd>5</dd> 
     <dd>8</dd> 
     &hellip; 
     </dl> 
    </noscript> 

    <script type="text/javascript"><!-- 
function fib(n) { 
    var a = 1, b = 1; 
    var tmp; 
    while (--n >= 0) { 
    tmp = a; 
    a += b; 
    b = tmp; 
    } 
    return a; 
} 

document.writeln(fib(10)); 
// --> 
    </script> 
    </body> 
</html> 
</xmp> 
+0

@Brett, funcionará siempre que el HTML que está embelleciendo no contenga la cadena '"

+0

Incluso no sabía que existe la etiqueta oO –

+0

problema: xmp es obsoleto y aparece espacio extra vertical. – jlguenego

1

Puede hacer una sustitución global del contenido utilizando un RegEx.

var regex = new RegExp("<", "g"); 
console.log(content.replace(regex, "&lt;")); 
+0

tiene que escapar correctamente los símbolos de unión, así . –

Cuestiones relacionadas