summaryrefslogtreecommitdiff
path: root/internal/text/sanitize.go
diff options
context:
space:
mode:
authorLibravatar tobi <31960611+tsmethurst@users.noreply.github.com>2025-03-07 15:04:34 +0100
committerLibravatar GitHub <noreply@github.com>2025-03-07 14:04:34 +0000
commitd8113c11e4d84a6d04d56b58d337c235154a535b (patch)
tree3ed983cbb8f95c9ef51a02a51a50ab89c42abd14 /internal/text/sanitize.go
parent[bugfix] Store and expose status content type (#3870) (diff)
downloadgotosocial-d8113c11e4d84a6d04d56b58d337c235154a535b.tar.xz
[feature] Parse content warning to HTML, serialize via client API as plaintext (#3876)
* [feature] Parse content warning as HTML, serialize via API to plaintext * tidy up some cruft * whoops * oops * i'm da joker baybee * clemency muy lorde * rename some of the text functions for clarity * jiggle the opts * fiddle de deee * hopefully the last test fix i ever have to do in my beautiful life
Diffstat (limited to 'internal/text/sanitize.go')
-rw-r--r--internal/text/sanitize.go31
1 files changed, 5 insertions, 26 deletions
diff --git a/internal/text/sanitize.go b/internal/text/sanitize.go
index 81c436264..29e1df1d8 100644
--- a/internal/text/sanitize.go
+++ b/internal/text/sanitize.go
@@ -18,9 +18,7 @@
package text
import (
- "html"
"regexp"
- "strings"
"github.com/microcosm-cc/bluemonday"
)
@@ -163,29 +161,10 @@ var regular *bluemonday.Policy = func() *bluemonday.Policy {
// Source: https://github.com/microcosm-cc/bluemonday#usage
var strict *bluemonday.Policy = bluemonday.StrictPolicy()
-// removeHTML strictly removes *all* recognized
-// HTML elements from the given string.
-func removeHTML(in string) string {
- return strict.Sanitize(in)
-}
-
-// SanitizeToHTML sanitizes only risky html elements
+// SanitizeHTML sanitizes only risky html elements
// from the given string, allowing safe ones through.
-func SanitizeToHTML(in string) string {
- return regular.Sanitize(in)
-}
-
-// SanitizeToPlaintext runs text through basic sanitization.
-// This removes any html elements that were in the string,
-// and returns clean plaintext.
-func SanitizeToPlaintext(in string) string {
- // Unescape first to catch any tricky critters.
- content := html.UnescapeString(in)
-
- // Remove all detected HTML.
- content = removeHTML(content)
-
- // Unescape again to return plaintext.
- content = html.UnescapeString(content)
- return strings.TrimSpace(content)
+//
+// It returns an HTML string.
+func SanitizeHTML(html string) string {
+ return regular.Sanitize(html)
}