Basert på Nokogiri HTML parser for Ruby, er oppryddings en hviteliste-basert system for fjerning av HTML fra en blokk med tekst.
Den "hviteliste" teknikken vil tillate utviklere å sette opp en liste over HTML-tagger som oppryddings vil bruke som en referanse for hva den mener "akseptabelt" HTML.
Annenhver HTML-koden ikke i listen vil bli fjernet fra analyseres teksten.
Oppryddings kan arbeide med standardbasert eller med misformet HTML.
Biblioteket kan oppdage og filtrere ut HTML-koder, attributter og protokoller.
Den rensede tekst vil alltid bli avgitt som gyldig HTML eller XHTML.
For å hjelpe utviklere komme i gang med sine prosjekter, kommer oppryddings med noen ferdige konfigurasjoner inkludert. Sjekk README-filen for mer informasjon
Hva er nytt i denne utgaven.
- lagt til to nye CSS config innstillinger: at_rules_with_properties og:. at_rules_with_styles
- Lagt full støtte for CSS @ Page reglene i avslappet config, inkludert støtte for alle side-margin boks regler.
- Lagt følgende CSS-regler til den avslappede config.
- Lagt til en hel haug med CSS egenskaper til den avslappede config. Se hele listen her.
- forbedringer Small ytelse.
- Oppgradert Crass til 1.0.2 for å plukke opp en løsning som påvirket analyseringen av CSS @ Page regler.
Hva er nytt i versjon 3.1.2:
- Fast: #document og #fragment mislyktes på frossen strenger, og kan utilsiktet endre gassform strenger om de brukte en annen koding enn UTF-8 eller om de inneholdt tegn som ikke er tillatt i HTML.
Hva er nytt i versjon 3.0.2:
- Oppdatert Nokogumbo til 1.1.12, fordi 1.1. 11 lydløst falt endringen vi prøvde å ta seg opp i den siste versjonen.
Hva er nytt i versjon 3.0.0:
- Lagt avansert CSS sanitering støtte ved hjelp Crass, som er fullt kompatibel med CSS Syntax Module Level 3 parsing spec. Innholdet i hvitelistet & # X3c, stil & # x3e; elementer og stil attributter i HTML skal renses som CSS, eller du kan bruke oppryddings :: CSS-klasse for å rense CSS stilark eller eiendommer manuelt.
- Lagt an: allow_doctype setting. Når sant, velformede DOCTYPE definisjoner vil bli tillatt i dokumenter. Når usann (standard), vil DOCTYPE definisjoner bli fjernet fra dokumentene. DOCTYPE definisjoner er aldri tillatt i fragmenter, uavhengig av denne innstillingen.
- Lagt følgende elementer til den avslappede config, i tillegg til ulike attributter. Artikkel, side, kropp, data, div, bunntekst, hode, header, html, main, nav, seksjon, span, stil, tittel
- : er whitespace_elements config nå en Hash, og lar deg angi teksten som skal settes inn før og etter disse elementene når de er fjernet. Den gamle stil Array-basert config verdi fortsatt støttes for bakoverkompatibilitet.
- Uegnede Unicode-tegn er nå fjernet fra HTML før det er analysert.
- Fast:
- Ikke-tag parentes i innspill som & quot; 1 & # x3e; 2 og 2 & # X3c; 1 & quot; er nå analysert og rømt riktig i samsvar med HTML5 spec, blir & quot; 1 & gt; 2 og 2 & lt; 1 & quot;.
- Søsken lagt etter gjeldende node under traversering er nå også krysset. I tidligere versjoner ble de rett og slett hoppet over.
- Nokogiri har blitt smacked og beskjed om å slutte å legge linjeskift etter visse elementer, fordi hvis folk ønsket linjeskift der de ville ha satt dem der, for faen.
Hva er nytt i versjon 2.0.6:
- Versjon 2.0.5 utilsiktet inkludert noen work-in -fremgang endringer som ikke burde ha gjort sin vei inn i master gren.
Hva er nytt i versjon 1.2.1:
- Lagt til en: remove_contents config setting. Hvis satt til sann, vil oppryddings fjerne innholdet i alle ikke-hvitelistede elementer i tillegg til elementene selv. Hvis satt til en rekke elementnavn, vil oppryddings fjerne innholdet i bare de elementer (når filtrert), og la innholdet i andre filtrerte elementer. [Takk til Rafael Souza for Array alternativ]
- Lagt an: output_encoding config-innstillingen for å tillate tegnkoding for HTML utgang angis. Standard er "utf-8".
- Miljø hash gått inn transformatorer inkluderer nå en: node_name element som inneholder små bokstaver navnet på den gjeldende HTML node (f.eks & quot; div & quot;) .
- Retur noe annet enn en Hash eller null fra en transformator vil nå heve en meningsoppryddings :: Feil unntaket heller enn en utilsiktet NameError.
Krav
- Ruby 1.9.2 eller nyere
- Nokogiri 1.4.4 eller nyere
Kommentarer ikke funnet