Skip to content

Commit 8abffb4

Browse files
committed
```
feat(util): 添加Markdown格式字符清理功能 - 在Markdowns.clean方法中集成格式字符清理 - 创建MdSanitizer工具类处理格式字符移除 - 使用正则表达式识别并移除Unicode格式字符 - 防止格式字符在HTML输出中造成安全问题 ```
1 parent 5b848ac commit 8abffb4

File tree

2 files changed

+13
-0
lines changed

2 files changed

+13
-0
lines changed

src/main/java/org/b3log/symphony/util/Markdowns.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -156,6 +156,7 @@ private Markdowns() {
156156
* @return safe HTML content
157157
*/
158158
public static String clean(String content, final String baseURI) {
159+
content = MdSanitizer.stripFormatChars(content);
159160
final Whitelist whitelist = Whitelist.relaxed().addAttributes(":all", "id", "target", "data-src", "aria-name", "aria-label");
160161
inputWhitelist(whitelist);
161162
final Document.OutputSettings outputSettings = new Document.OutputSettings();
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
package org.b3log.symphony.util;
2+
3+
import java.util.regex.Pattern;
4+
5+
public final class MdSanitizer {
6+
private static final Pattern CF = Pattern.compile("\\p{Cf}+");
7+
8+
public static String stripFormatChars(String s) {
9+
if (s == null) return null;
10+
return CF.matcher(s).replaceAll("");
11+
}
12+
}

0 commit comments

Comments
 (0)