我一直在使用StringEscapeUtils.escapeHTML逃脱的URL。 是否有类似的东西,以找出是否该字符串已逃走?
Answer 1:
不,我知道的,但它是很容易自己做一个:
public boolean isEscaped(String url) {
return !url.equals(StringEscapeUtils.unEscapeHTML(url));
}
请注意,或者决定不如果一个随机字符串被转义是不可能的,因为@themel笔记,如果你试图用这个随机字符串,你可以得到很多误报。 不过我假设你至少可以在你的琴弦的样子这里一些控制。
Answer 2:
这在原则上是不可能的,因为每一个转义字符串是在同一时间不转义字符串,如"a>b"
可以是两者逸出版本"a>b"
或简单地文字串"a>b"
逸出之前。
Answer 3:
如果你只是想,直到你得到的纯HTML标记尝试这个递归方法逃避任何字符串:
public static String unescapeHtml(String string) {
if (org.apache.commons.lang3.StringUtils.isBlank(string)) {
return "";
}
String unescapedString = StringEscapeUtils.unescapeHtml(string);
return string.equals(StringEscapeUtils.unescapeHtml(string)) ? unescapedString : unescapeHtml(unescapedString);
}
文章来源: StringEscapeUtils find out if string is escaped