Maison > Article > développement back-end > Pourquoi mes commentaires HTML disparaissent-ils après l'exécution du modèle Go ?
Dans Go, le rendu des commentaires HTML via l'exécution du modèle est souvent attendu, mais des mises à jour vers la version Go peut entraîner des exclusions inattendues de commentaires HTML dans la sortie. Cet article explore le problème et propose une solution en utilisant le type template.HTML.
Lors du rendu HTML à l'aide du package texte/modèle de Go, HTML les commentaires sont généralement échappés pour empêcher les attaques de script intersite (XSS). Cependant, dans certaines situations, il est souhaité de conserver ces commentaires pour un bon fonctionnement.
La solution consiste à utiliser le type template.HTML pour marquer Commentaires HTML exemptés de l'échappement. Voici comment cela est implémenté :
Enregistrez une fonction personnalisée :
Définissez une fonction personnalisée pour votre modèle qui accepte une chaîne et la renvoie comme modèle .HTML. Cette fonction empêchera l'échappement de la chaîne transmise.
Transformer les commentaires HTML :
Remplacez tous les commentaires HTML par des actions de modèle qui appellent le fonction personnalisée, en passant le commentaire d'origine comme argument.
Par exemple :
<code class="go">const src = `<html><body> {{safe "<!-- This is a comment -->"}} <div>Some <b>HTML</b> content</div> </body></html>`</code>
Cette transformation de modèle empêchera le commentaire HTML d'être omis ou échappé pendant le rendu .
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!