func cleanAttributes(u *url.URL, t *html.Token) { var attrs []html.Attribute var isLink = false for _, a := range t.Attr { if a.Key == "target" { } else if a.Key == "style" { a.Val = cleanStyle(a.Val) attrs = append(attrs, a) } else if AcceptableAttributes[a.Key] { if a.Key == "href" || a.Key == "src" { a.Val = cleanLink(u, a.Val) } if a.Key == "href" { isLink = true } attrs = append(attrs, a) } } if isLink { attrs = append(attrs, html.Attribute{ Key: "target", Val: "_blank", }) } t.Attr = attrs }
func sanitizeAttributes(u *url.URL, t *html.Token) { var attrs []html.Attribute var isLink = false for _, a := range t.Attr { if a.Key == "target" { } else if a.Key == "style" { a.Val = sanitizeStyle(a.Val) attrs = append(attrs, a) } else if acceptableAttributes[a.Key] { if a.Key == "href" || a.Key == "src" { a.Val = sanitizeLink(u, strings.TrimSpace(a.Val)) } if a.Key == "href" { isLink = true } attrs = append(attrs, a) } } if isLink { attrs = append(attrs, html.Attribute{ Key: "target", Val: "_blank", }) } t.Attr = attrs }