En HTML hay muchos casos en los que el navegador se confunde al mostrar la página. En HTML, el signo menor que ( < ) significa la apertura de alguna etiqueta y si colocamos un elemento después de él como ‘a’ o ‘h’ , el navegador los identifica como un ancla y una pestaña de encabezado respectivamente. Similar es el caso con algunos caracteres especiales que incluyen menos que, a la tasa (@), barra diagonal inversa, etc.
Ejemplo de problema: este ejemplo es una ilustración del problema causado cuando el texto HTML no se convierte al formato especial.
<html> <head> </head> <body> <div> If b<a and a<h then b<h. <!-- the browser understands it as anchor tag--> </div> </body> </html>
La parte b <a es problemática. El navegador lo entiende como etiquetas ancla. Similar es el caso con b <h
Salida:
If b
Solución 1: una forma de resolverlo es manualmente colocando símbolos especiales en el ritmo del carácter especial respectivo que es problemático. Pero para sitios web muy pesados es muy difícil dibujar todos los caracteres y luego convertirlos en HTML.
<html> <head> </head> <body> <div> If b < a and ab < h then b < h. <!-- the browser understands it as less than--> </div> </body> </html>
Producción:
If b < a and ab < h then b < h.
Solución basada en JavaScript Otra forma es convertir cada carácter especial a su respectivo código HTML usando javascript. Dentro del script, reemplazaremos todos los estatutos especiales con la ayuda de una expresión regular que es «» + valor ASCII del carácter + «;» . Aplicamos la misma regla con todo el texto de la página.
<html> <head> <script> function Encode(string) { var i = string.length, a = []; while (i--) { var iC = string[i].charCodeAt(); if (iC < 65 || iC > 127 || (iC > 90 && iC < 97)) { a[i] = '' + iC + ';'; } else { a[i] = string[i]; } } return a.join(''); } </script> </head> <body> <script> document.write(Encode("If b<a and a<h then b<h")); </script> </body> </html>
Producción:
If b<a and a<h then b<h
Publicación traducida automáticamente
Artículo escrito por piyush25pv y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA