Na Nokogiri HTML analyzátor pro Ruby základě, dezinfikuje je systém založený na whitelist pro odstranění HTML z bloku textu.
"Whitelist" technika umožní vývojářům nastavit seznam značek HTML, která dezinfikuje se bude používat jako podklad pro to, co považuje za "přijatelný" HTML.
Každá další značku HTML není v seznamu budou odstraněny u analyzovaného textu.
Dezinfikovat může pracovat s normami-kompatibilní, nebo se znetvořenou HTML.
Knihovna může detekovat a odfiltrovat HTML tagy, atributy a protokoly.
Vyčistit text bude vždy na výstupu jako validní HTML nebo XHTML.
Chcete-li pomoci vývojářům začít pracovat na svých projektech, dezinfikuje přichází s několika ready-made konfigurace zahrnuty. Zkontrolujte soubor README pro více informací
Co je nového v této verzi:.
- dva nové nastavení CSS config,: at_rules_with_properties a:. at_rules_with_styles
- Přidána plná podpora pro CSSpage pravidel v uvolněné config, včetně podpory pro všechny pravidla page-margin box.
- Přidána následující CSS at-pravidel na uvolněné config.
- Přidána spoustu vlastností CSS na uvolněné config. Zobrazit úplný seznam zde.
- vylepšení Small výkonu.
- Modernizované hloupý, aby 1.0.2 vyzvednout opravu, která ovlivnila parsování pravidel CSSpage.
Co je nového ve verzi 3.1.2:
- Oprava: #document a #fragment selhal na zmrazené řetězce, a mohl by neúmyslně změnit rozmrzlých řetězce v případě, že používá jiný než kódování UTF-8, nebo v případě, že obsahoval znaky, které nejsou povoleny v HTML.
Co je nového ve verzi 3.0.2:
- Aktualizováno Nokogumbo do 1.1.12, protože 1.1. 11 tiše vrátil změnu jsme se snažili zvednout v poslední verzi.
Co je nového ve verzi 3.0.0:
- Byla přidána podpora pokročilé CSS sanitaci pomocí Crass, který je plně v souladu s CSS Syntaxe Module úrovně 3 rozebrat spec. Obsah bílé listině & # x3c, styl & # x3e; prvky a styl atributy v HTML bude dezinfikují jako CSS, nebo můžete využít dezinfikovat :: CSS třídu ručně dezinfikovat CSS styly nebo vlastnosti.
- Přidal: allow_doctype nastavení. Kdy budou moci opravdoví, dobře tvarované definice DOCTYPE v dokumentech. Když false (výchozí), bude definice DOCTYPE odstraněny z dokumentů. Definice DOCTYPE jsou nikdy povoleny ve fragmentech, bez ohledu na toto nastavení.
- Přidána tyto prvky do uvolněné config, vedle různých atributů:. Článek, stranou, tělo, data, div, zápatí, hlavička, hlavička, html, hlavní, nav, oddíl, rozpětí, styl, název
- : whitespace_elements config je nyní Hash, a umožňuje zadat text, který by měl být vložen před a po těchto prvků, když jsou odstraněny. Array-based config hodnota old-styl je stále podporována pro zpětnou kompatibilitu.
- Nevhodná Unicode znaky jsou nyní odstraněny z HTML před tím, než je analyzován.
- Opraveno:
- Non-tagů držáky na vstupu, jako & quot; 1 & # X3e; 2 a 2 & # x3c; 1 & quot; jsou nyní analyzovány a unikl správně v souladu s HTML5 specifikace, stávat & quot; 1 & gt; 2 a 2 & lt; 1 & quot;.
- Sourozenci přidané po aktuálním uzlu během průchod jsou nyní také projet. V předchozích verzích byly jednoduše přeskočí.
- Nokogiri byl plácl a instruována, aby přestala přidávat nové řádky po určitých prvků, protože pokud lidé chtěli nové řádky tam by si dát je tam, sakra.
Co je nového ve verzi 2.0.6:
- Verze 2.0.5 nechtěně součástí nějakou práci-in -progress změny, které by se neměly udělali jejich cestu do hlavního oboru.
Co je nového ve verzi 1.2.1:
- Přidáno: remove_contents nastavení config. Pokud je nastavena na hodnotu true, bude dezinfikovat odstranit obsah všech non-bílé listině prvky, kromě samotných prvků. Pokud je nastavena na pole názvů prvků, bude dezinfikovat odstranit obsah pouze těch prvků (při filtrováno), a nechte obsah ostatních filtrovaných prvků. [Díky Rafael Souza pro možnost Array]
- Přidána: output_encoding config nastavení umožňuje kódování znaků pro HTML výstup bude upřesněno. Výchozí hodnota je "utf-8".
- Prostředí hash předán do transformátorů nyní zahrnuje: jméno_uzlu položku obsahující malými písmeny název aktuální HTML uzlu (např & quot; div & quot;) .
- Po návratu nic jiného než Hash nebo nulová od transformátoru bude nyní zvyšovat smysluplný dezinfikovat :: Error spíše výjimkou než nechtěného NameError.
Požadavky na :
- Ruby 1.9.2 nebo vyšší
- Nokogiri 1.4.4 nebo vyšší
Komentáře nebyl nalezen