Maison > développement back-end > Golang > Comment insérer du HTML dans des modèles Go sans s'échapper ?

Comment insérer du HTML dans des modèles Go sans s'échapper ?

DDD
Libérer: 2024-10-29 10:02:30
original
337 Les gens l'ont consulté

How to Insert HTML into Go Templates Without Escaping?

Insérer du HTML dans des modèles Go sans échapper

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>
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal