Asana Integeration
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

46 lines
737 B

3 years ago
3 years ago
3 years ago
3 years ago
  1. package text
  2. import (
  3. "fmt"
  4. "html"
  5. "regexp"
  6. "strings"
  7. )
  8. const (
  9. DataMention = `<a data-asana-gid="%s"/>`
  10. )
  11. // `<body>
  12. // testing
  13. // <a data-asana-gid="1199521781039350"/>
  14. // <a data-asana-gid="1200773217477032"/>
  15. // </body>`
  16. func Mention(gid string) string {
  17. return fmt.Sprintf(DataMention, gid)
  18. }
  19. func DeleteHtmlTags(src string) string {
  20. var (
  21. line int
  22. v, des string
  23. )
  24. if "" == src || 0 == len(src) {
  25. return ""
  26. }
  27. reg := regexp.MustCompile(`<.+?>`)
  28. str := reg.ReplaceAllString(src, " ")
  29. s := strings.Split(str, "\n")
  30. for _, v = range s {
  31. if 0 == len(strings.TrimSpace(v)) {
  32. continue
  33. }
  34. des = des + fmt.Sprintf("\n%s", v)
  35. line++
  36. }
  37. if 0 == line {
  38. return ""
  39. }
  40. return html.UnescapeString(des)
  41. }