Make all the params to Replace an interface{}
authorbep <bjorn.erik.pedersen@gmail.com>
Sun, 18 Jan 2015 14:16:48 +0000 (15:16 +0100)
committerbep <bjorn.erik.pedersen@gmail.com>
Sun, 18 Jan 2015 14:16:48 +0000 (15:16 +0100)
tpl/template.go

index 1ddc04b57bcfa2e3cc7ac7eaaf8aaa0ebb984bc1..8d55fc897ddb00091dea9174e8025d881f19973b 100644 (file)
@@ -890,12 +890,20 @@ func Trim(a interface{}, b string) (string, error) {
 }
 
 // Replace all occurences of b with c in a
-func Replace(a interface{}, b string, c string) (string, error) {
+func Replace(a, b, c interface{}) (string, error) {
        aStr, err := cast.ToStringE(a)
        if err != nil {
                return "", err
        }
-       return strings.Replace(aStr, b, c, -1), nil
+       bStr, err := cast.ToStringE(b)
+       if err != nil {
+               return "", err
+       }
+       cStr, err := cast.ToStringE(c)
+       if err != nil {
+               return "", err
+       }
+       return strings.Replace(aStr, bStr, cStr, -1), nil
 }
 
 func SafeHtml(text string) template.HTML {