HTML Template: вывести неэкранированные данные
С помощью пакета html/template вызываю html-файл и передаю туда данные:
w := http.ResponseWriter //writer, куда пишем данные
tpl, _ := template.ParseFiles("/index.html") //шаблон, который вызываем
text := "<b>Bold</b> text" //строка, которую передаём
_ = tpl.Execute(w, text)
Если в шаблоне вызовем нашу строку через {{ }}, то фактически в DOM у нас будет строка:
<b>Bold</b> text
То есть тег <b> был экранирован. Возможно ли сделать так, чтобы в переданной нами строке не применялось экранирование символов (то есть чтобы текст выводился полужирным)?
P.S. Например, в шаблонах Blade для Laravel для этого есть специальная команда {!! !!}.
Ответы (1 шт):
Автор решения: Ainar-G
→ Ссылка
Используйте типизированные строки. Точнее, template.HTML. Пример:
_ = tpl.Execute(w, template.HTML(`<b>Hello</b>`))