8

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

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

任何线索都会受到欢迎,在此先感谢。

PS:

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

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

4

2 回答 2

16

您的代码中的其他地方存在问题 - 将输出放入模板时可能会被转义?您发布的行将用 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 游乐场 - http://play.golang.org/p/KMzxku4UtL

于 2012-10-01T11:02:36.260 回答
2

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

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

谢谢大家的帮助。

于 2012-10-02T15:13:11.363 回答