FILE / ScuroNeko/Laniakea
tgfmt/utils.go
Исходный файл и его история в репозитории.
(fix): runtime reliability (tests): regression coverage (doc): v1.1 release notes
38 lines
946 B
Go
38 lines
946 B
Go
package tgfmt
|
|
|
|
import (
|
|
"strings"
|
|
)
|
|
|
|
func escapeHTML(s string) string {
|
|
s = strings.ReplaceAll(s, "&", "&")
|
|
s = strings.ReplaceAll(s, "<", "<")
|
|
s = strings.ReplaceAll(s, ">", ">")
|
|
s = strings.ReplaceAll(s, `"`, """)
|
|
return s
|
|
}
|
|
|
|
func escapeMD(s string) string {
|
|
s = strings.ReplaceAll(s, "_", `\_`)
|
|
s = strings.ReplaceAll(s, "*", `\*`)
|
|
s = strings.ReplaceAll(s, "[", `\[`)
|
|
s = strings.ReplaceAll(s, "`", "\\`")
|
|
return s
|
|
}
|
|
func escapeMDv2(s string) string {
|
|
symbols := []string{"\\", "_", "*", "[", "]", "(", ")", "~", "`", ">", "#", "+", "-", "=", "|", "{", "}", ".", "!"}
|
|
for _, symbol := range symbols {
|
|
s = strings.ReplaceAll(s, symbol, "\\"+symbol)
|
|
}
|
|
return s
|
|
}
|
|
|
|
// EscapePunctuation escapes '.', '!' and '-' for MarkdownV2 fragments.
|
|
func EscapePunctuation(s string) string {
|
|
symbols := []string{".", "!", "-"}
|
|
for _, symbol := range symbols {
|
|
s = strings.ReplaceAll(s, symbol, "\\"+symbol)
|
|
}
|
|
return s
|
|
}
|