1package blackfriday 2 3import ( 4 "html" 5 "io" 6) 7 8var htmlEscaper = [256][]byte{ 9 '&': []byte("&"), 10 '<': []byte("<"), 11 '>': []byte(">"), 12 '"': []byte("""), 13} 14 15func escapeHTML(w io.Writer, s []byte) { 16 var start, end int 17 for end < len(s) { 18 escSeq := htmlEscaper[s[end]] 19 if escSeq != nil { 20 w.Write(s[start:end]) 21 w.Write(escSeq) 22 start = end + 1 23 } 24 end++ 25 } 26 if start < len(s) && end <= len(s) { 27 w.Write(s[start:end]) 28 } 29} 30 31func escLink(w io.Writer, text []byte) { 32 unesc := html.UnescapeString(string(text)) 33 escapeHTML(w, []byte(unesc)) 34} 35