Com base no analisador Nokogiri HTML para Ruby, Sanitize é um sistema baseado na lista de permissões para a remoção de HTML a partir de um bloco de texto.
A técnica de "whitelist" permitirá que os desenvolvedores para configurar uma lista de tags HTML que Sanitize usará como referência para o que considera HTML "aceitável".
Cada outra tag HTML não está na lista serão removidos do texto analisado.
Sanitize pode trabalhar com padrões compatíveis com HTML ou malformado.
A biblioteca pode detectar e filtrar as tags HTML, atributos e protocolos.
O texto limpo será sempre transmitido como HTML ou XHTML válido.
Para ajudar os desenvolvedores a começar a fazer seus projetos, Sanitize vem com algumas configurações prontas incluídos. Verifique o arquivo LEIA-ME para obter mais detalhes
O que é novo nesta versão:.
- Adicionado duas novas definições de configuração CSS,: at_rules_with_properties e:. at_rules_with_styles
- Adicionado suporte completo para as regrasPage CSS na configuração relaxada, incluindo suporte para todas as regras da caixa-margem da página.
- Adicionado o seguinte CSS at-regras para a configuração relaxado.
- Adicionado um monte de propriedades CSS para a configuração relaxado. Veja a lista completa aqui.
- melhorias de desempenho pequeno.
- Crass atualizado para 1.0.2 para pegar uma correção que afetou a análise de regrasPage CSS.
O que é novo na versão 3.1.2:
- Arrumado: #document e #fragment falhou em congelado cordas, e poderia inadvertidamente modificar cordas descongeladas se eles usaram uma codificação diferente de UTF-8 ou se elas continham caracteres não permitidos em HTML.
O que é novo na versão 3.0.2:
- Atualização Nokogumbo para 1.1.12, porque 1.1. 11 silenciosamente reverteu a mudança que nós estávamos tentando pegar na última versão.
O que é novo na versão 3.0.0:
- suporte avançado de sanitização CSS Adicionado utilizando Crass, que é totalmente compatível com o Módulo CSS Sintaxe Nível 3 parsing spec. O conteúdo do X3C lista branca & #; & # estilo x3e; elementos e atributos de estilo em HTML será higienizado como CSS, ou você pode usar o Sanitize :: class CSS para desinfetar manualmente folhas de estilo CSS ou propriedades.
- Adicionado um: allow_doctype definição. Quando verdadeiras definições doctype, bem formadas será permitido em documentos. Quando false (o padrão), as definições doctype será removido de documentos. Doctype definições nunca são permitidos em fragmentos, independentemente dessa configuração.
- Adicionado os seguintes elementos para a configuração relaxada, além de vários atributos:. Artigo, de lado, o corpo, os dados, div, rodapé, cabeça, cabeçalho, html, principal, nav, seção, espaço, estilo, título
- A: whitespace_elements configuração é agora um Hash, e permite que você especifique o texto que deve ser inserido antes e depois desses elementos quando eles são removidos. O valor de configuração baseada em array de estilo antigo ainda é suportado para compatibilidade com versões anteriores.
- caracteres Unicode inadequados estão agora removido do HTML antes de ser analisado.
- Arrumado:
- suportes não-tag em entrada como & quot; 1 & # x3e; 2 e 2 & # X3C; 1 & quot; agora são analisados e escapou corretamente de acordo com a especificação HTML5, tornando-se & quot; 1 & gt; 2 e 2 & lt; 1 & quot;.
- Irmãos adicionados após o nó atual durante a travessia está agora também atravessada. Nas versões anteriores foram simplesmente ignorados.
- Nokogiri foi esbofeteado e instruídos a parar de adicionar novas linhas após certos elementos, porque se as pessoas queriam novas linhas lá eles teriam colocá-los lá, caramba.
O que é novo na versão 2.0.6:
- Versão 2.0.5 inadvertidamente incluídas em algum trabalho Progress alterações que não deveria ter feito o seu caminho para o branch master.
O que é novo na versão 1.2.1:
- Adicionado: opção de configuração remove_contents. Se definido como verdadeiro, Sanitize irá remover o conteúdo de todos os elementos não-lista branca, além dos próprios elementos. Se definido como uma matriz de nomes de elementos, Sanitize irá remover o conteúdo de apenas os elementos (quando filtrada), e deixar o conteúdo de outros elementos filtrados. [Graças a Rafael Souza para a opção de matriz]
- Adicionado um: output_encoding configuração configuração para permitir a codificação de caracteres para a saída HTML a ser especificado. O padrão é 'utf-8'.
- O hash ambiente passou para transformadores agora inclui um: o item node_name contendo o nome em minúsculas do nó HTML atual (por exemplo, & quot; div & quot;) .
- Voltando outra coisa senão um Hash ou nulo a partir de um transformador de agora irá levantar uma exceção Sanitize :: erro significativo ao invés de um NameError não intencional.
Requisitos :
- Rubi 1.9.2 ou superior
- Nokogiri 1.4.4 ou superior
Comentários não encontrado