Lors de la définition d'un modèle Go avec des éléments HTML, il est important d'éviter d'échapper involontairement des caractères qui doivent être rendus dans le cadre du code HTML. . Ce problème survient lors de l'utilisation d'une chaîne pour représenter le contenu HTML dans le modèle.
Pour éviter tout échappement, l'approche correcte consiste à transmettre le contenu HTML en tant qu'instance de template.HTML. Ce type est responsable de la gestion du rendu du HTML dans les modèles Go, en garantissant qu'il s'affiche sans s'échapper.
Un exemple illustrant cette technique :
<code class="go">package main import ( "fmt" "html/template" "os" ) func main() { tpl := template.Must(template.New("main").Parse(`{{define "T"}}{{.Html}}{{.String}}{{end}}`)) tplVars := map[string]interface{} { "Html": template.HTML("<p>Paragraph</p>"), "String": "<p>Paragraph</p>", } tpl.ExecuteTemplate(os.Stdout, "T", tplVars) }</code>
Dans cet exemple, le contenu HTML est transmis en tant que valeur template.HTML, ce qui empêche l'échappement. Le résultat s'affiche comme prévu, sans aucun caractère HTML d'échappement.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!