1

我正在开发一个由 Gohtml/template包提供支持的模板,并且我有一个特定的字符串值,该字符串值被传递到需要转义的模板中。一个限制是我不能通过渲染整个模板text/template,它必须通过渲染html/template

我在这里有一个问题的简化示例:

package main

import (
    "log"
    "os"
    "html/template"
)

func main() {
    templateStr := `<input type="text" data-thing="{{.dataThing}}"/>`


    tmpl, err := template.New("").Parse(templateStr)
    if err != nil {
        log.Fatal(err)
        return
    }
    
    tmpl.Execute(os.Stdout, map[string]string{"dataThing":"this->shouldNotEscape"})
}

模板的当前输出是:<input type="text" data-thing="this-&gt;shouldNotEscape"/>.

但是模板的期望输出是:<input type="text" data-thing="this->shouldNotEscape"/>.

我在这里有一个可运行的 Go Playground

4

0 回答 0