mirror of
https://github.com/idanoo/autobrr
synced 2025-07-23 08:49:13 +00:00

* fix(sanitize): filter properly \t,,, / etc * jesus christ. * bah. probably helps if a human reads the tests. * k done. * should be safe now? * edna? * real life man
57 lines
1.2 KiB
Go
57 lines
1.2 KiB
Go
package sanitize
|
|
|
|
import (
|
|
"strings"
|
|
)
|
|
|
|
func String(str string) string {
|
|
str = strings.TrimSpace(str)
|
|
return str
|
|
}
|
|
|
|
func FilterString(str string) string {
|
|
// replace newline with comma
|
|
str = strings.ReplaceAll(str, "\r", ",")
|
|
str = strings.ReplaceAll(str, "\n", ",")
|
|
str = strings.ReplaceAll(str, "\v", ",")
|
|
str = strings.ReplaceAll(str, "\t", " ")
|
|
str = strings.ReplaceAll(str, "\f", "")
|
|
|
|
str = repeatedReplaceAll(str, " ", " ")
|
|
str = repeatedReplaceAll(str, ", ", ",")
|
|
str = repeatedReplaceAll(str, " ,", ",")
|
|
str = repeatedReplaceAll(str, ",,", ",")
|
|
|
|
str = strings.Trim(str, ", ")
|
|
return str
|
|
}
|
|
|
|
func repeatedReplaceAll(src, old, new string) string {
|
|
for i := 0; i != len(src); {
|
|
i = len(src)
|
|
src = strings.ReplaceAll(src, old, new)
|
|
}
|
|
|
|
return src
|
|
}
|
|
|
|
/*
|
|
var interestingChars = regexp.MustCompile(`[^,\r\n\t\f\v]+`)
|
|
|
|
func FilterString(str string) string {
|
|
str = strings.Join(interestingChars.FindAllString(str, -1), ",")
|
|
for i := 0; i != len(str); {
|
|
i = len(str)
|
|
str = strings.ReplaceAll(str, " ", " ")
|
|
}
|
|
|
|
str = strings.ReplaceAll(str, " ,", ",")
|
|
str = strings.ReplaceAll(str, ", ", ",")
|
|
for i := 0; i != len(str); {
|
|
i = len(str)
|
|
str = strings.ReplaceAll(str, ",,", ",")
|
|
}
|
|
str = strings.Trim(str, ", ")
|
|
return str
|
|
}
|
|
*/
|