github.com/insionng/yougam@v0.0.0-20170714101924-2bc18d833463/libraries/html2md/core.go (about)

     1  package html2md
     2  
     3  import "regexp"
     4  
     5  const (
     6  	Foreign = iota
     7  	Void
     8  )
     9  
    10  type ReplaceFunc func(string, []string) string
    11  
    12  type Rule struct {
    13  	Patterns    []string
    14  	Tp          int
    15  	Replacement ReplaceFunc
    16  }
    17  
    18  func AttrRegExp(attr string) *regexp.Regexp {
    19  	return regexp.MustCompile(attr + `\s*=\s*["']?([^"\"']*)["']?`)
    20  }
    21  
    22  var (
    23  	rules    = make(map[string]*Rule)
    24  	converts = make([]func(string) string, 0)
    25  )
    26  
    27  func AddRule(name string, rule *Rule) {
    28  	rules[name] = rule
    29  }
    30  
    31  func AddConvert(f func(string) string) {
    32  	converts = append(converts, f)
    33  }