ref: 4f4015d751f7422e448c86ee7c57e11c546901a9
parent: e08cabadb6f0d61b818dfe4be404decb6c6e8ca2
author: bep <[email protected]>
date: Sun Jan 18 10:16:48 EST 2015
Make all the params to Replace an interface{}
--- a/tpl/template.go
+++ b/tpl/template.go
@@ -890,12 +890,20 @@
}
// 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 {