Con base en el analizador Nokogiri HTML para Ruby, Desinfectar es un sistema basado en la lista blanca para eliminar HTML de un bloque de texto.
La técnica de la "lista blanca" permitirá a los desarrolladores para configurar una lista de etiquetas HTML que Desinfectar utilizará como referencia para lo que considera HTML "aceptable".
Cada otra etiqueta HTML no en la lista será eliminado del texto analizado.
Desinfectar puede trabajar con compatible con los estándares o con HTML con formato incorrecto.
La biblioteca puede detectar y filtrar las etiquetas HTML, atributos y protocolos.
El texto limpiado siempre será emitida como HTML o XHTML.
Para ayudar a los desarrolladores empezar a trabajar en sus proyectos, Desinfectar viene con algunas configuraciones ya hechas incluidos. Consulte el archivo README para más detalles
¿Qué hay de nuevo en esta versión:.
- Añadido dos nuevos parámetros de configuración CSS: at_rules_with_properties y:. at_rules_with_styles
- Añadido soporte completo parapage reglas CSS en la configuración relajada, incluido el apoyo a todas las reglas de la caja de la página-margen.
- Añadido el siguiente CSS en-reglas a la config relajado.
- Añadido un montón de propiedades CSS a la config relajado. Ver la lista completa aquí.
- Pequeño mejoras de rendimiento.
- Mejorado Crass a 1.0.2 para recoger una solución que afectó el análisis de las normaspage CSS.
¿Cuál es nuevo en la versión 3.1.2:
- Fijo: #document y #fragment falló en congelados cuerdas, y podrían sin querer modificar cuerdas congeladas si se utilizan una codificación que no sea UTF-8 o si contenían caracteres no permitidos en HTML.
¿Cuál es nuevo en la versión 3.0.2:
- Actualización Nokogumbo a 1.1.12, ya 1.1. 11 volvieron en silencio el cambio que estábamos tratando de recoger en la última versión.
¿Cuál es nuevo en la versión 3.0.0:
- Añadido soporte avanzado de desinfección CSS usando Crass, que es totalmente compatible con la sintaxis CSS Nivel 3 Módulo de análisis de especificaciones. El contenido de la lista blanca & # X3c; estilo & # X3e; elementos y atributos de estilo en HTML serán desinfectados como CSS, o puede utilizar la Desinfecte :: clase CSS para desinfectar manualmente las hojas de estilo CSS o propiedades.
- Añadido an: allow_doctype ajuste. Cuando se les permitirá verdaderas definiciones doctype, bien formados en los documentos. Cuando falsa (por defecto), las definiciones doctype se eliminarán de documentos. Definiciones DOCTYPE no están permitidos en fragmentos, independientemente de este ajuste.
- Añadido los siguientes elementos a la configuración relajada, además de varios atributos:. Artículo, a un lado, el cuerpo, los datos, div, pie, cabeza, cabeza, html, principal, nav, sección, palmo, estilo, título
- El: whitespace_elements config es ahora un Hash, y le permite especificar el texto que debe ser insertado antes y después de estos elementos cuando son removidos. El valor de configuración basado en la matriz de estilo antiguo todavía se soporta por compatibilidad hacia atrás.
- caracteres Unicode no apropiados están retirados de HTML antes de que sea analizada.
- Fijo:
- soportes para no etiqueta en la entrada como & quot; 1 & # X3e; 2 y 2 & # X3c; 1 & quot; ahora se analiza y se escapó correctamente de acuerdo con la especificación HTML5, convirtiéndose en & quot; 1 & gt; 2 y 2 & lt; 1 & quot;.
- Hermanos añadido después del nodo actual durante el recorrido ahora también atravesada. En las versiones anteriores que estaban simplemente omiten.
- Nokogiri ha sido golpeado e instruyó a dejar de añadir nuevas líneas después de ciertos elementos, porque si la gente quería saltos de línea no habrían ponerlos allí, maldita sea.
¿Cuál es nuevo en la versión 2.0.6:
- Versión 2.0.5 inadvertidamente incluido algo de trabajo en cambios Progress que no debería haber hecho su camino en la rama principal.
¿Cuál es nuevo en la versión 1.2.1:
- Ha añadido un: remove_contents configuración config. Si se establece en true, Desinfectar eliminará el contenido de todos los elementos no lista blanca, además de los propios elementos. Si se define como una matriz de nombres de elementos, Desinfectar eliminará el contenido de sólo aquellos elementos (cuando filtrada), y dejar el contenido de otros elementos filtrados. [Gracias a Rafael Souza para la opción Array]
- Se ha agregado una: ajuste para permitir la codificación de caracteres para la salida HTML a especificar config output_encoding. El valor predeterminado es 'utf-8'.
- El hash entorno pasado a transformadores ahora incluye un: artículo nombre_nodo que contiene el nombre en minúsculas del nodo HTML actual (por ejemplo, & quot; div & quot;) .
- Volviendo aparte de un hash o nulo cualquier cosa, desde un transformador será ahora plantear una excepción Desinfecte :: Error significativa en lugar de un NameError involuntaria.
Requisitos
- Rubí 1.9.2 o superior
- Nokogiri 1.4.4 o superior
Comentarios que no se encuentran