gpt4 book ai didi

go - 如何取消转义html字符串中的引号

转载 作者:数据小太阳 更新时间:2023-10-29 03:40:40 26 4
gpt4 key购买 nike

我在 Go 中有一个字符串如下:

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

引号被转义了,我想得到没有反斜杠的字符串。

我尝试使用 html.UnescapeString 但不是我想要的。我的问题有解决办法吗?

最佳答案

使用 strings.NewReplacer()

func NewReplacer(oldnew ...string) *Replacer

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

关于go - 如何取消转义html字符串中的引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53662629/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com