package main import ( "io" "strings" "bytes" "golang.org/x/net/html" "golang.org/x/text/encoding/japanese" "golang.org/x/text/transform" ) /* PHPであるstrip_tagsはGo言語で存在しないから、自分で作る */ func strip_tags(data string) string { doc, err := html.Parse(strings.NewReader(data)) if err != nil { panic("HTMLをパーシングに失敗。") } var buf bytes.Buffer var f func(*html.Node) f = func(n *html.Node) { if n.Type == html.TextNode { buf.WriteString(n.Data) } for c := n.FirstChild; c != nil; c = c.NextSibling { f(c) } } f(doc) return buf.String() } func EUCJPToUTF8(input []byte) (string, error) { transformer := japanese.EUCJP.NewDecoder() reader := transform.NewReader(bytes.NewReader(input), transformer) result, err := io.ReadAll(reader) if err != nil { return "エンコーディングに失敗", err } return string(result), nil }