Die API ist extrem einfach gehalten. Man erzeugt einfach via
Jsoup.parse(html);
ein org.jsoup.nodes.Document, das man dann wiederum nach allen Elementen einer Klasse, eines bestimmten Tag-Typs etc. abfragen kann.Was man unbedingt machen sollte, wenn man HTML-Eingaben verarbeitet bzw. überhaupt Eingaben verarbeitet, die vielleicht irgendwann wieder auf die HTML-Oberfläche gelangen könnten, ist sie zu säubern. Tut man das nicht, hat man schnell eine Sicherheitslücke (Stichwort Cross-Site-Scripting). Für genau diesen Fall bringt jsoup eine Methode mit, die alles kritische aus der HTML-Eingabe entfernt. Was kritisch ist, lässt sich mittels Whitelist auch selbst definieren, die Basic-Whitelist ist aber schon recht gut überdacht und deckt die gängigen Formatierungstags ab. Der Aufruf mit Basic-Whitelist ist auch hier wieder denkbar einfach:
Jsoup.clean(html, Whitelist.basic())
Die Whitelist lässt sich fein granular steuern. Sowohl an Tags, als auch an Attribute und deren Inhalt wurde gedacht. Außerdem mag ich die Kettenschreibweise einfach gern:
Whitelist w = new Whitelist().addTags("a", "b", "blockquote") .addAttributes("a", "href") .addProtocols("a", "href", "ftp", "http", "https", "mailto") .addProtocols("blockquote", "cite", "http", "https") .addEnforcedAttribute("a", "rel", "nofollow");
Ein paar Beispiele finden sich im jsoup Cookbook.
jsoup.org
Keine Kommentare:
Kommentar veröffentlichen
Hinweis: Nur ein Mitglied dieses Blogs kann Kommentare posten.