diff --git a/kernel/util/misc.go b/kernel/util/misc.go index 768a7bb18..b15015c95 100644 --- a/kernel/util/misc.go +++ b/kernel/util/misc.go @@ -43,14 +43,10 @@ func RemoveElem[T any](s []T, index int) []T { } func EscapeHTML(s string) string { - if strings.Contains(s, "&") { + if ContainsSubStr(s, []string{"&", "'", "<", ">", """, " "}) { return s } - - if strings.ContainsAny(s, "<>\"'&") { - return html.EscapeString(s) - } - return s + return html.EscapeString(s) } func Reverse(s string) string { @@ -92,3 +88,12 @@ func IsNumeric(s string) bool { _, err := strconv.ParseFloat(s, 64) return err == nil } + +func ContainsSubStr(s string, subStrs []string) bool { + for _, v := range subStrs { + if strings.Contains(s, v) { + return true + } + } + return false +}