package util import ( "regexp" "strconv" "time" ) var ( // r1 Match non-English and non-Chinese characters r1 = regexp.MustCompile(`[^(a-zA-Z0-9\\u4e00-\\u9fa5\.\-)]`) // r2 Match special symbol r2 = regexp.MustCompile(`[\?\\/:|<>\*\[\]\(\)\$%\{\}@~\.]`) // r3 Match whitespace characters r3 = regexp.MustCompile(`\s`) ) func Slug(slug string) string { slug = r1.ReplaceAllString(slug, "") slug = r2.ReplaceAllString(slug, "") slug = r3.ReplaceAllString(slug, "") if slug == "" { slug = strconv.FormatInt(time.Now().UnixMilli(), 10) } return slug }