add unescape

This commit is contained in:
Looly 2020-09-25 18:10:35 +08:00
parent 4899e03a48
commit 5b283651b0
4 changed files with 5 additions and 2 deletions

View File

@ -22,6 +22,7 @@
* 【http 】 SoapClient增加addSOAPHeader方法
* 【http 】 完善StrUtil的注释pr#186@Gitee
* 【aop 】 去除调试日志issue#1116@Github
* 【core 】 增加'反转义pr#1121@Github
### Bug修复
* 【crypto 】 修复SM2验签后无法解密问题issue#I1W0VP@Gitee

View File

@ -18,7 +18,6 @@ public class Html4Escape extends ReplacerChain {
{ "&", "&" }, // & - ampersand
{ "<", "&lt;" }, // < - less-than
{ ">", "&gt;" }, // > - greater-than
{"\'", "&apos;"} // ' - quote
};
protected static final String[][] ISO8859_1_ESCAPE = { //

View File

@ -15,11 +15,14 @@ public class Html4Unescape extends ReplacerChain {
protected static final String[][] BASIC_UNESCAPE = InternalEscapeUtil.invert(Html4Escape.BASIC_ESCAPE);
protected static final String[][] ISO8859_1_UNESCAPE = InternalEscapeUtil.invert(Html4Escape.ISO8859_1_ESCAPE);
protected static final String[][] HTML40_EXTENDED_UNESCAPE = InternalEscapeUtil.invert(Html4Escape.HTML40_EXTENDED_ESCAPE);
// issue#1118
protected static final String[][] OTHER_UNESCAPE = new String[][]{new String[]{"&apos;", "'"}};
public Html4Unescape() {
addChain(new LookupReplacer(BASIC_UNESCAPE));
addChain(new LookupReplacer(ISO8859_1_UNESCAPE));
addChain(new LookupReplacer(HTML40_EXTENDED_UNESCAPE));
addChain(new LookupReplacer(OTHER_UNESCAPE));
addChain(new NumericEntityUnescaper());
}
}

View File

@ -119,7 +119,7 @@ public class HtmlUtilTest {
Assert.assertEquals("&lt;html&gt;&lt;body&gt;123&#039;123&#039;&lt;/body&gt;&lt;/html&gt;", escape);
String restoreEscaped = HtmlUtil.unescape(escape);
Assert.assertEquals(html, restoreEscaped);
Assert.assertEquals("\'", HtmlUtil.unescape("&apos;"));
Assert.assertEquals("'", HtmlUtil.unescape("&apos;"));
}
@Test