亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何取消轉義html字符串中的引號

如何取消轉義html字符串中的引號

Go
繁花如伊 2023-05-15 14:44:31
我在 Go 中有一個字符串如下:Hello world ! <a href=\"www.google.com\">Google</a>引號被轉義了,我想得到沒有反斜杠的字符串。我嘗試使用html.UnescapeString但不是我想要的。關于我的問題有什么解決辦法嗎。
查看完整描述

3 回答

?
HUX布斯

TA貢獻1876條經驗 獲得超6個贊

使用 strings.NewReplacer()

func NewReplacer(oldnew ...string) *替換器


package main


    import (

        "bytes"

        "fmt"

        "log"

        "strings"


        "golang.org/x/net/html"

    )


    func main() {

        const htm = `

            Hello world ! <a href=\"www.google.com\">Google</a>

        `

        // Code to get the attribute value

        var out string

        r := bytes.NewReader([]byte(htm))

        doc, err := html.Parse(r)

        if err != nil {

            log.Fatal(err)

        }

        var f func(*html.Node)

        f = func(n *html.Node) {

            if n.Type == html.ElementNode && n.Data == "a" {

                for _, a := range n.Attr {

                    out = a.Val

                }

            }

            for c := n.FirstChild; c != nil; c = c.NextSibling {

                f(c)

            }

        }

        f(doc)

        // Code to format the output string.

        rem := `\"`

        rep := strings.NewReplacer(rem, " ")

        fmt.Println(rep.Replace(out))

    }

輸出 :


www.google.com


查看完整回答
反對 回復 2023-05-15
?
慕尼黑5688855

TA貢獻1848條經驗 獲得超2個贊

假設您正在使用html/template,您要么希望將整個內容存儲為template.HTML,要么將 url 存儲為template.URL。您可以在此處查看操作方法:https ://play.golang.org/p/G2supatMfhK

tplVars := map[string]interface{}{

    "html": template.HTML(`Hello world ! <a href="www.google.com">Google</a>"`),

    "url": template.URL("www.google.com"),

    "string": `Hello world ! <a href="www.google.com">Google</a>"`,


}

t, _ := template.New("foo").Parse(`

{{define "T"}}

    Html: {{.html}}

    Url: <a href="{{.url}}"/>

    String: {{.string}}

{{end}}

`)

t.ExecuteTemplate(os.Stdout, "T", tplVars)


//Html: Hello world ! <a href="www.google.com">Google</a>"

//Url: <a href="www.google.com"/>

//String: Hello world ! &lt;a href=&#34;www.google.com&#34;&gt;Google&lt;/a&gt;&#34;



查看完整回答
反對 回復 2023-05-15
?
HUWWW

TA貢獻1874條經驗 獲得超12個贊

我想得到沒有反斜杠的字符串。


這是一個簡單的問題,但是對于這樣一個簡單的問題,現有的兩個答案都太復雜了。


package main


import (

    "fmt"

    "strings"

)


func main() {

    s := `Hello world ! <a href=\"www.google.com\">Google</a>`

    fmt.Println(s)

    fmt.Println(strings.Replace(s, `\"`, `"`, -1))

}

在https://play.golang.org/p/7XX7jJ3FVFt試試



查看完整回答
反對 回復 2023-05-15
  • 3 回答
  • 0 關注
  • 240 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號