替换 Go 字符串中的 HTML 实体

fug*_*ede 7 html go

这感觉像是必须足够常见的操作之一,这是一个重复的问题,但由于我无法在任何地方找到它:

在 Go 中用字符串表示替换 HTML 实体的最直接方法是什么string?也就是说,我将如何将字符串Rø&d grød & fløde变成Rød grød & fløde

我自己的解决方案要么strings.Replace在所有相关实体上使用(这很快变得难以处理),要么将字符串包装到 XML 文档中并用xml.Decoder它解码(这看起来很愚蠢并导致许多边缘情况)。

Cer*_*món 13

使用html.UnescapeString函数:

fmt.Println(html.UnescapeString("Rø&d grød & fløde"))
Run Code Online (Sandbox Code Playgroud)

游乐场示例