Sur la base de l'analyseur Nokogiri HTML pour Ruby, Désinfecter est un système basé sur liste blanche pour enlever HTML à partir d'un bloc de texte.
La technique de "liste blanche" permettra aux développeurs de configurer une liste des balises HTML qui sera Désinfecter utiliser comme référence pour ce qu'il considère HTML "acceptable".
Chaque balise HTML autre pas dans la liste sera retiré du texte analysé.
Désinfecter peut travailler avec des normes conformes ou avec HTML malformé.
La bibliothèque peut détecter et filtrer les balises HTML, les attributs et les protocoles.
Le texte nettoyé sera toujours délivrée comme HTML ou XHTML valide.
Pour aider les développeurs à se lancer sur leurs projets, Désinfecter est livré avec quelques configurations prêtes à l'emploi inclus. Consultez le fichier README pour plus de détails
Ce qui est nouveau dans cette version:.
- Ajout de deux nouveaux paramètres CSS de configuration,: at_rules_with_properties et:. at_rules_with_styles
- Prise en charge complète des règles CSS dePage dans la config détendue, y compris le soutien pour toutes les règles de la boîte de page de la marge.
- Ajout de la CSS suivante à-règles à la configuration détendue.
- Ajout de tout un tas de propriétés CSS pour la config détendue. Voir la liste complète ici.
- Petit améliorations de performance.
- Mise à niveau Crass à 1.0.2 pour ramasser un correctif qui a affecté l'analyse des règles CSS dePage.
Quoi de neuf dans la version 3.1.2:
- Correction: #document et #fragment échoué sur congelé cordes, et pourraient involontairement modifier des chaînes non gelées si elles utilisaient un codage autre que UTF-8 ou si elles contenaient des caractères non autorisés en HTML.
Quoi de neuf dans la version 3.0.2:
- Mise à jour Nokogumbo à 1.1.12, parce 1.1. 11 Converti en silence le changement que nous avons essayé de ramasser dans la dernière version.
Quoi de neuf dans la version 3.0.0:
- Ajout du support CSS avancées de désinfection utilisant Crass, qui est entièrement compatible avec l'analyse spec CSS Module Syntaxe Niveau 3. Le contenu de la liste blanche x3C & #; & # X3e de style; éléments et attributs de style en HTML seront désinfectés CSS, ou vous pouvez utiliser le Désinfecter de la classe CSS pour assainir manuellement feuilles de style CSS ou propriétés.
- Ajout d'une: allow_doctype réglage. Lorsque vrais, les définitions de DOCTYPE bien formés seront autorisés dans les documents. Lorsque false (par défaut), les définitions de DOCTYPE seront retirés de documents. Définitions Doctype ne sont jamais autorisés dans les fragments, indépendamment de ce paramètre.
- Ajouté les éléments suivants à la configuration détendue, en plus de divers attributs:. Article, côté, le corps, les données, div, pied, tête, tête, html, principale, nav, l'article, la durée, le style, titre
- L': whitespace_elements config est maintenant un Hash, et vous permet de spécifier le texte qui doit être inséré avant et après ces éléments quand ils sont enlevés. La valeur de config Array-based style ancien est toujours supporté pour la compatibilité ascendante.
- caractères Unicode inappropriés sont maintenant retirés de HTML avant qu'il ne soit analysé.
- Correction:
- supports non-tag en entrée comme & quot; 1 & # x3e; 2 et 2 & # x3C; 1 & quot; sont maintenant analysé et échappé correctement en conformité avec la spécification HTML5, devenant & quot; 1 & gt; 2 et 2 & lt; 1 & quot;.
- Les frères et sœurs ajoutés après le nœud actuel lors de la traversée sont désormais également traversé. Dans les versions précédentes, ils ont été tout simplement ignorés.
- Nokogiri a été claqué et chargé d'arrêter d'ajouter des sauts de ligne après certains éléments, parce que si les gens voulaient des sauts de ligne il qu'ils auraient les mettre là, bon sang.
Quoi de neuf dans la version 2.0.6:
- Version 2.0.5 inclus par inadvertance certains travaux en -progress changements qui ne devraient pas avoir fait leur chemin dans la branche master.
Quoi de neuf dans la version 1.2.1:
- Ajout d'un: remove_contents paramètre de configuration. Si vrai, Désinfecter va supprimer le contenu de tous les éléments non-liste blanche en plus des éléments eux-mêmes. Si la valeur à un tableau de noms d'éléments, Désinfecter va supprimer le contenu de ces seuls éléments (lorsque filtrée), et de laisser le contenu d'autres éléments filtrés. [Merci à Rafael Souza pour l'option Array]
- Ajout d'une: réglage pour permettre l'encodage des caractères pour la sortie HTML à préciser config output_encoding. La valeur par défaut est "utf-8".
- Le hachage de l'environnement passé dans les transformateurs comprend maintenant un: élément-noeud contenant le nom en minuscules du noeud HTML courant (par exemple & quot; div & quot;) .
- Retour autre qu'un Hash ou nul quelque chose d'un transformateur va maintenant lever une exception Sanitize :: erreur significative plutôt qu'une NameError involontaire.
Exigences :
- Ruby 1.9.2 ou ultérieure
- Nokogiri 1.4.4 ou ultérieure
Commentaires non trouvées