From 40f2bcab15f22a48385d4d734ea0ec10d66d0660 Mon Sep 17 00:00:00 2001 From: Looly Date: Thu, 25 Jan 2024 18:01:31 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8DHtmlUtil.removeHtmlAttr?= =?UTF-8?q?=E5=A4=84=E7=90=86=E7=A9=BA=E6=A0=BC=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/org/dromara/hutool/http/html/HtmlUtil.java | 12 +++++++----- .../dromara/hutool/http/html/IssueI8YV0KTest.java | 6 ++++++ 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/hutool-http/src/main/java/org/dromara/hutool/http/html/HtmlUtil.java b/hutool-http/src/main/java/org/dromara/hutool/http/html/HtmlUtil.java index 27858f3b7..541dab53a 100644 --- a/hutool-http/src/main/java/org/dromara/hutool/http/html/HtmlUtil.java +++ b/hutool-http/src/main/java/org/dromara/hutool/http/html/HtmlUtil.java @@ -189,14 +189,16 @@ public class HtmlUtil { regex = StrUtil.format("(?i)(\\s*{}\\s*=\\s*)" + "(" + // name="xxxx" - "([\"][^\"]+?[\"]\\s*)|" + - // name=xxx > - "([^>]+?\\s+(?=>))|" + - // name=xxx> 或者 name=xxx name2=xxx - "([^>]+?(?=\\s|>))" + + "([\"][^\"]+?[\"])|" + + // name=xxx > 或者 name=xxx> 或者 name=xxx name2=xxx + "([^>]+?\\s*(?=\\s|>))" + ")", attr); content = content.replaceAll(regex, StrUtil.EMPTY); } + + // issue#I8YV0K 去除尾部空格 + content = ReUtil.replaceAll(content, "\\s+(>|/>)", "$1"); + return content; } diff --git a/hutool-http/src/test/java/org/dromara/hutool/http/html/IssueI8YV0KTest.java b/hutool-http/src/test/java/org/dromara/hutool/http/html/IssueI8YV0KTest.java index aa9d66250..81d66525c 100644 --- a/hutool-http/src/test/java/org/dromara/hutool/http/html/IssueI8YV0KTest.java +++ b/hutool-http/src/test/java/org/dromara/hutool/http/html/IssueI8YV0KTest.java @@ -15,4 +15,10 @@ public class IssueI8YV0KTest { final String str = ""; Assertions.assertEquals("", HtmlUtil.removeHtmlAttr(str, "styleCode")); } + + @Test + public void removeHtmlAttrTest3(){ + final String str = ""; + Assertions.assertEquals("", HtmlUtil.removeHtmlAttr(str, "styleCode")); + } }