golang: comment remplacer les “\n” par “<br>”
J'ai essayé de le faire en utilisant strings.Replace(s,"\n","<br>",-1);
Mais le résultat est quelque chose de différent qui pourrait être affichée comme <br>
dans un navigateur web, mais n'est en fait pas "<br>"
. Quelqu'un peut me dire comment faire cela?
Mon objectif principal est de changer le caractère de fin de ligne à partir d'un <textarea>
dans un <br>
balise html.
Toute idée serait la bienvenue, merci d'avance.
PS:
Q: Êtes-vous essayer de l'obtenir à partir de la base de données?
Un: Ouais, je reçois la chaîne de GAE de la base de données, puis de remplacer \n
avec <br>
. Est-il rien de différent avec chaîne à partir de la base de données?
J'ai fait ce que vous avez écrit (
Êtes-vous essayer de récupérer la forme d'une base de données?
Je pense qu'il a peut-être échappé par le package de modèle
strings.Replace(s,"\n","<br>",-1)
) et j'ai obtenu un <br>
en place de la "\n"
. Pourquoi dites-vous que vous n'obtenez pas de "<br>" ? Que voulez-vous faire plus tard avec cette chaîne ?Êtes-vous essayer de récupérer la forme d'une base de données?
Je pense qu'il a peut-être échappé par le package de modèle
OriginalL'auteur DeanSinaean | 2012-10-01
Vous devez vous connecter pour publier un commentaire.
Il y a un problème ailleurs dans ton code, peut - être la sortie est échappé dans un modèle? La ligne que vous avez posté permettra de remplacer les retours à la ligne avec le br et l'est correcte - voir ce test simple:
Vous auriez besoin de mettre plus de code que cela pour les gens à trouver l'endroit où vous allez mal, par exemple post la fonction qui crée/manipule la chaîne, et le peu de modèle où c'est la sortie au format html.
Go-aire de jeux - http://play.golang.org/p/KMzxku4UtL
OriginalL'auteur Kenny Grant
https://stackoverflow.com/users/296559/robotamer obtenu le droit. Le problème est résolu.
Le problème est dans le fichier de modèle. J'ai utilisé |html pour échapper le contenu. Quand j'ai enlevé "|html" dans le code, tout va bien.
Merci à vous tous pour votre aide.
C'est une mauvaise idée—vous sont désormais ouvertes pour HTML les vulnérabilités d'injection (voir la section owasp.org/index.php/HTML_Injection). Vous êtes mieux de l'écriture d'une boucle dans votre modèle de faire une boucle sur chaque ligne, et de mettre un <br /> entre les deux.
OriginalL'auteur DeanSinaean