23
utils/html.go
Normal file
23
utils/html.go
Normal file
@@ -0,0 +1,23 @@
|
||||
package utils
|
||||
|
||||
import (
|
||||
"regexp"
|
||||
"sort"
|
||||
"strings"
|
||||
)
|
||||
|
||||
// StripHtmlTags uses regex to strip all html elements
|
||||
func StripHtmlTags(s string) string {
|
||||
const pattern = `(<\/?[a-zA-A]+?[^>]*\/?>)*`
|
||||
r := regexp.MustCompile(pattern)
|
||||
groups := r.FindAllString(s, -1)
|
||||
sort.Slice(groups, func(i, j int) bool {
|
||||
return len(groups[i]) > len(groups[j])
|
||||
})
|
||||
for _, group := range groups {
|
||||
if strings.TrimSpace(group) != "" {
|
||||
s = strings.ReplaceAll(s, group, "")
|
||||
}
|
||||
}
|
||||
return s
|
||||
}
|
Reference in New Issue
Block a user