Codificación de entidades HTML en JavaScript
Al ingresar contenido en un sistema de administración de contenido (CMS), es crucial manejar caracteres especiales como ® para garantizar una visualización adecuada en todos los navegadores. Para solucionar este problema, se puede utilizar JavaScript para localizar y convertir estos símbolos en entidades HTML adecuadas.
Utilizando expresiones regulares, la conversión se puede lograr reemplazando rangos de caracteres específicos con sus entidades HTML correspondientes. El código JavaScript sería similar al siguiente:
var encodedStr = rawStr.replace(/[\u00A0-\u9999<>\&]/g, function(i) { return '&#' i.charCodeAt(0) ';'; });
Este código reemplaza todos los caracteres dentro del rango Unicode especificado (00A0-9999) y los caracteres especiales (&, ) con sus equivalentes de entidad HTML. Por ejemplo, ® se convierte en ®.
Alternativamente, en ES6:
const encodedStr = rawStr.replace(/[\u00A0-\u9999<>\&]/g, i => '&#' i.charCodeAt(0) ';')
Este enfoque garantiza la conversión de todos los caracteres aplicables en entidades HTML. Sin embargo, es importante tener en cuenta que las configuraciones de fuentes del sistema y otros factores pueden afectar potencialmente la visualización correcta de estos caracteres.
Considere los posibles problemas con la codificación de caracteres, como garantizar la codificación UTF8 y el almacenamiento de la base de datos, para mitigar las discrepancias en la visualización. .
Además, se puede aplicar un estilo CSS apropiado para preferencias de visualización específicas, como el tamaño de fuente y el relleno:
sup { font-size: 0.6em; padding-top: 0.2em; }
Cuando se implementa, este CSS garantiza una visualización coherente de las entidades HTML.
Documentación:
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3