Golang + PostgreSQL - 如何在没有转义HTML标签的情况下打印精确查询?

时间:2015-06-13 04:05:16

标签: postgresql go

存储在PostgreSQL中的数据:The <b>Argentine Army</b> is。数据类型:"content" text COLLATE "default"

通过Golang打印时,它变为The &lt;b&gt;Argentine Army&lt;/b&gt; is

我需要从PostgreSQL打印精确数据而不转义HTML标记。我不确定这是Go还是PostgreSQL问题。

下面是我的Golang代码:

package main

import (
    "database/sql"
    "github.com/labstack/echo"
    _ "github.com/lib/pq"
    "html/template"
    "io"
    "log"
    "net/http"
)

// type Gallery struct here
// type Template struct & function here

func main() {
    e := echo.New()

    // DB connection here
    // Parse template & render here

    e.Get("/", func(c *echo.Context) error {

        rows, err := db.Query("SELECT uri, title, content FROM gallery WHERE id=123")
        // Handle error here

        gallery := []Gallery{}

        for rows.Next() {
            b := Gallery{}
            err := rows.Scan(&b.Uri, &b.Title, &b.Content)
            // Handle error here

            gallery = append(gallery, b)
        }

        return c.Render(http.StatusOK, "onlytestingtpl", gallery[0])
    })

    e.Run(":4444")
}

1 个答案:

答案 0 :(得分:1)

这是由html模板引起的 - 你可以使用如下函数:

func unsafe(x string) template.HTML {
    return template.HTML(x)
}

获得未转义的&#39; HTML