|
@ -31,6 +31,7 @@ import org.jsoup.nodes.Document; |
|
|
import org.jsoup.nodes.Element; |
|
|
import org.jsoup.nodes.Element; |
|
|
import org.jsoup.nodes.Node; |
|
|
import org.jsoup.nodes.Node; |
|
|
import org.jsoup.nodes.TextNode; |
|
|
import org.jsoup.nodes.TextNode; |
|
|
|
|
|
import org.jsoup.safety.Whitelist; |
|
|
import org.jsoup.select.NodeTraversor; |
|
|
import org.jsoup.select.NodeTraversor; |
|
|
import org.jsoup.select.NodeVisitor; |
|
|
import org.jsoup.select.NodeVisitor; |
|
|
|
|
|
|
|
@ -115,14 +116,13 @@ public class HtmlHelper implements NodeVisitor { |
|
|
public static String sanitize(Context context, String html, boolean reply) { |
|
|
public static String sanitize(Context context, String html, boolean reply) { |
|
|
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); |
|
|
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); |
|
|
|
|
|
|
|
|
Document document = Jsoup.parse(html); |
|
|
|
|
|
if (prefs.getBoolean("sanitize", false)) { |
|
|
if (prefs.getBoolean("sanitize", false)) { |
|
|
|
|
|
Document document = Jsoup.parse(html); |
|
|
HtmlHelper visitor = new HtmlHelper(context, reply); |
|
|
HtmlHelper visitor = new HtmlHelper(context, reply); |
|
|
NodeTraversor.traverse(visitor, document.body()); |
|
|
NodeTraversor.traverse(visitor, document.body()); |
|
|
return visitor.toString(); |
|
|
return visitor.toString(); |
|
|
} else { |
|
|
} else { |
|
|
document.getElementsByTag("style").remove(); |
|
|
|
|
|
document.select("[style]").removeAttr("style"); |
|
|
|
|
|
|
|
|
Document document = Jsoup.parse(Jsoup.clean(html, Whitelist.relaxed())); |
|
|
for (Element tr : document.select("tr")) |
|
|
for (Element tr : document.select("tr")) |
|
|
tr.after("<br>"); |
|
|
tr.after("<br>"); |
|
|
return document.body().html(); |
|
|
return document.body().html(); |
|
|