我想在自定义Jackson JsonSerialize实现中添加自定义逻辑/类,以便根据某些规则解析html。例如,如果html包含在单引号'<b>'text'</b>'
中,那么自定义逻辑应该按原样接受字符串。如果它不是单引号,如<b>text</b>
那么我希望自定义逻辑/类只返回文本。另外,如果我有一个用三个单引号'''<html><head><title>example</title></head></html>'''
括起来的html块,它应该按原样接受,但如果它不是那么只应返回示例文本并解析其他所有内容。什么是最好的Java库来实现这一目标?我想过使用AnitSamy,但这让我对XSS攻击持开放态度,因为我需要接受引号内的任何内容。
示例:
input:<b>text</b>
output:text
input:'<b>'text'</b>'
output:'<b>'text'</b>'
input:<html><head><title>text</title></head></html>
output:text
input:'''<html><head><title>text</title></head></html>'''
output:'''<html><head><title>text</title></head></html>'''
答案 0 :(得分:1)
您可以使用Java Regex引擎查找模式。例如:
p = Pattern.compile("'''[\\w*]'''");
m = p.matcher(input);
if(m.find()){
//Do some logic
}
这是Java Regex网站的链接: http://www.regular-expressions.info/java.html