2
我需要一些幫助來進行清洗jsoup用戶輸入,我想刪除所有已知的HTML標籤,但讓<
或>
如果沒有一個真正的HTML標記的一部分。jsoup乾淨的HTML實體
Jsoup.clean("<b>test</b> te<st <test >test", Whitelist.none())
電流輸出 test tetest
,我想: test te<st <test >test
感謝您的幫助。
我需要一些幫助來進行清洗jsoup用戶輸入,我想刪除所有已知的HTML標籤,但讓<
或>
如果沒有一個真正的HTML標記的一部分。jsoup乾淨的HTML實體
Jsoup.clean("<b>test</b> te<st <test >test", Whitelist.none())
電流輸出 test tetest
,我想: test te<st <test >test
感謝您的幫助。
Jsoup不提供這種功能。檢查下面的代碼。
import java.util.ArrayList;
import java.util.List;
public class Main {
public static String removeTags(List<String> tags, String source) {
if(tags == null || tags.size() == 0) return source;
StringBuilder strb = new StringBuilder();
for(String tag : tags) {
strb.append(String.format("</?%s.*?>|", tag));
}
return source.replaceAll(strb.substring(0, strb.length() - 1), "");
//strb example : "</?span.*?>|</?em.*?>"
}
public static void main(String[] args) {
try {
String str = "<b>testj</b> te<st <test >test";
List<String> tags = new ArrayList<String>();
tags.add("b");
System.out.println(removeTags(tags, str));
} catch (Exception e) {
e.printStackTrace();
}
}
}
這看起來不像斯卡拉 – Jean
我的回答有幫助嗎? – alkis