From 76360f89c1b98b8f3926f12c25d11e3c1efd8925 Mon Sep 17 00:00:00 2001 From: Jerry Heiselman Date: Thu, 22 Mar 2018 16:28:27 -0500 Subject: [PATCH] Strip markdown URLs with blank text (slack) (#392) --- bridge/slack/slack.go | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/bridge/slack/slack.go b/bridge/slack/slack.go index 1e1a1b7f..7706f2bf 100644 --- a/bridge/slack/slack.go +++ b/bridge/slack/slack.go @@ -4,16 +4,17 @@ import ( "bytes" "errors" "fmt" - "github.com/42wim/matterbridge/bridge" - "github.com/42wim/matterbridge/bridge/config" - "github.com/42wim/matterbridge/bridge/helper" - "github.com/42wim/matterbridge/matterhook" - "github.com/nlopes/slack" "html" "regexp" "strings" "sync" "time" + + "github.com/42wim/matterbridge/bridge" + "github.com/42wim/matterbridge/bridge/config" + "github.com/42wim/matterbridge/bridge/helper" + "github.com/42wim/matterbridge/matterhook" + "github.com/nlopes/slack" ) type Bslack struct { @@ -387,7 +388,11 @@ func (b *Bslack) replaceVariable(text string) string { func (b *Bslack) replaceURL(text string) string { results := regexp.MustCompile(`<(.*?)(\|.*?)?>`).FindAllStringSubmatch(text, -1) for _, r := range results { - text = strings.Replace(text, r[0], r[1], -1) + if len(strings.TrimSpace(r[2])) == 1 { // A display text separator was found, but the text was blank + text = strings.Replace(text, r[0], "", -1) + } else { + text = strings.Replace(text, r[0], r[1], -1) + } } return text }