Skip to content

Commit

Permalink
🔧 修复class穿越的问题
Browse files Browse the repository at this point in the history
  • Loading branch information
adlered committed May 27, 2024
1 parent 7a14264 commit 30be7ea
Showing 1 changed file with 14 additions and 2 deletions.
16 changes: 14 additions & 2 deletions src/main/java/org/b3log/symphony/util/Markdowns.java
Original file line number Diff line number Diff line change
Expand Up @@ -149,7 +149,7 @@ public static String clean(final String content, final String baseURI) {
inputWhitelist(whitelist);
final Document.OutputSettings outputSettings = new Document.OutputSettings();
outputSettings.prettyPrint(false);
final String tmp = Jsoup.clean(content, baseURI, whitelist, outputSettings);
final String tmp = Markdowns.clean(content, baseURI, whitelist, outputSettings);
final Document doc = Jsoup.parseBodyFragment(tmp, baseURI);
doc.outputSettings().prettyPrint(false);

Expand Down Expand Up @@ -229,6 +229,18 @@ public static String clean(final String content, final String baseURI) {
ret = ret.replaceAll("(</?br\\s*/?>\\s*)+", "<br>"); // patch for Jsoup issue
return ret;
}

public static String clean(String bodyHtml, String baseUri, Whitelist whitelist, Document.OutputSettings outputSettings) {
boolean emoji = false;
if (bodyHtml.contains("class=\"emoji\"") && bodyHtml.contains("<img")) {
emoji = true;
}
bodyHtml = Jsoup.clean(bodyHtml, baseUri, whitelist, outputSettings);
if (emoji == true) {
bodyHtml = bodyHtml.replaceAll("<img alt=", "<img class=\"emoji\" alt=");
}
return bodyHtml;
}

/**
* Converts the specified markdown text to HTML.
Expand Down Expand Up @@ -277,7 +289,7 @@ public static String toHTML(final String markdownText) {
inputWhitelist(whitelist);
Document.OutputSettings outputSettings = new Document.OutputSettings();
outputSettings.prettyPrint(false);
html = Jsoup.clean(html, Latkes.getServePath(), whitelist, outputSettings);
html = Markdowns.clean(html, Latkes.getServePath(), whitelist, outputSettings);
final Document doc = Jsoup.parseBodyFragment(html);
final List<org.jsoup.nodes.Node> toRemove = new ArrayList<>();
doc.traverse(new NodeVisitor() {
Expand Down

0 comments on commit 30be7ea

Please sign in to comment.