diff --git a/main.go b/main.go index 493eb76..2414672 100644 --- a/main.go +++ b/main.go @@ -215,10 +215,11 @@ func NormalizeHTMLforTelegram(s string) (out string) { domDocTest := html.NewTokenizer(strings.NewReader(s)) previousStartTokenTest := domDocTest.Token() + flagendtag := false for { tt := domDocTest.Next() if len(out) > 2500 { - if e := in_array(previousStartTokenTest.Data, tags) && previousStartTokenTest.Data != "img" && previousStartTokenTest.Data != "br"; e { + if e := in_array(previousStartTokenTest.Data, tags) && previousStartTokenTest.Data != "img" && previousStartTokenTest.Data != "br" && !flagendtag; e { out += fmt.Sprintf(" ...", previousStartTokenTest.Data) } else { out += " ..." @@ -241,6 +242,7 @@ func NormalizeHTMLforTelegram(s string) (out string) { default: out += fmt.Sprintf(" <%s>", previousStartTokenTest.Data) } + flagendtag = false } case tt == html.EndTagToken: t := domDocTest.Token() @@ -251,6 +253,7 @@ func NormalizeHTMLforTelegram(s string) (out string) { // default: out += fmt.Sprintf(" ", t.Data) // } + flagendtag = true } case tt == html.SelfClosingTagToken: t := domDocTest.Token()