md.go 750 B

123456789101112131415161718192021222324252627282930
  1. package ul
  2. import (
  3. "github.com/jaytaylor/html2text"
  4. "regexp"
  5. )
  6. var md_reg1 = regexp.MustCompile("([ *]+)")
  7. var md_reg2 = regexp.MustCompile("([\\n]+)")
  8. var md_reg3 = regexp.MustCompile("([-]{3,})")
  9. // 有缺陷---内存增大···不知原因
  10. func HttpConvertToMarkdown(html string) string {
  11. if text := PostMarkDownText(html); text != "" {
  12. return text
  13. }
  14. return html
  15. }
  16. // 有问题,内存泄漏
  17. func ConvertToMarkdown(html string) string {
  18. markdown, err := html2text.FromString(html, html2text.Options{PrettyTables: true})
  19. if err != nil {
  20. return html
  21. }
  22. markdown = md_reg1.ReplaceAllString(markdown, " ")
  23. markdown = md_reg2.ReplaceAllString(markdown, "\n")
  24. markdown = md_reg3.ReplaceAllString(markdown, "---")
  25. return markdown
  26. }