golang:如何用“<br/>”替换“\ n”

时间:2012-10-01 10:40:45

标签: html replace go

我尝试使用strings.Replace(s,"\n","<br>",-1);来做 但结果是不同的,可以在Web浏览器中显示为<br>但实际上不是"<br>"。谁能告诉我怎么做?

我的主要目标是将行尾字符从<textarea>更改为html中的<br>标记。

任何线索都会受到欢迎,谢谢。

PS:

问:你是不是想从数据库中获取它?

答:是的,我从GAE的数据库中获取字符串,然后将\n替换为<br>。数据库中的字符串有什么不同吗?

2 个答案:

答案 0 :(得分:14)

您的代码中的其他地方存在问题 - 也许输出在放入模板时被转义?您发布的行将用br替换换行符并且是正确的 - 请参阅此简单测试:

package main
import("strings")

func main() {
    s := "I am a string\nContaining new lines"
    s = strings.Replace(s,"\n","<br>",-1)
    println(s)
}

您需要发布更多代码,以便人们找到您错误的位置,例如发布创建/操作字符串的函数,以及将其输出到html的模板位。

On Go playground - http://play.golang.org/p/KMzxku4UtL

答案 1 :(得分:2)

https://stackoverflow.com/users/296559/robotamer做对了。问题解决了。

问题出在模板文件中。我使用| html来逃避内容。当我在代码中删除“| html”时,一切都很好。

谢谢大家的帮助。