8

を使用して実行しようとしましたがstrings.Replace(s,"\n","<br>",-1); 、結果は Web ブラウザーのように表示できるものとは異なります<br>が、実際にはそうではありません"<br>"。誰でもこれを行う方法を教えてもらえますか?

私の主な目標は、行末文字を a からhtml<textarea><br>タグに変更することです。

手がかりは大歓迎です、事前に感謝します。

PS:

Q: データベースから取得しようとしていますか?

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 に答える