first commit
This commit is contained in:
31
internal/pkg/utils/string.go
Normal file
31
internal/pkg/utils/string.go
Normal file
@@ -0,0 +1,31 @@
|
||||
package utils
|
||||
|
||||
import (
|
||||
"regexp"
|
||||
"strings"
|
||||
)
|
||||
|
||||
var nonAlphanumericRegexp = regexp.MustCompile(`[^a-z0-9]+`)
|
||||
|
||||
// UnderscoreString mengubah string judul/nama menjadi format_ular (misal: "Evolusi Mega" -> "evolusi_mega")
|
||||
func UnderscoreString(s string) string {
|
||||
s = strings.ToLower(strings.TrimSpace(s))
|
||||
s = strings.ReplaceAll(s, "&", "and")
|
||||
s = nonAlphanumericRegexp.ReplaceAllString(s, "_")
|
||||
s = strings.Trim(s, "_")
|
||||
if s == "" {
|
||||
s = "underscore_string"
|
||||
}
|
||||
return s
|
||||
}
|
||||
|
||||
func Slugify(s string) string {
|
||||
s = strings.ToLower(strings.TrimSpace(s))
|
||||
s = strings.ReplaceAll(s, "&", "and")
|
||||
s = nonAlphanumericRegexp.ReplaceAllString(s, "-")
|
||||
s = strings.Trim(s, "-")
|
||||
if s == "" {
|
||||
s = "slugify"
|
||||
}
|
||||
return s
|
||||
}
|
||||
Reference in New Issue
Block a user