Unescape 两次在 rss 中转义标题

我得到了一些带有奇怪转义标题的 rss,例如:

<title>S&amp;amp;P 500 : Wall Street amorce un rebond, Binance fait l&amp;apos;objet d&amp;apos;une enquête de la SEC</title>

整个 rss:https ://www.dailyfx.com/francais/feeds/actualites-marches-financiers

Opera 浏览器正确显示此类新闻标题如下

标准普尔 500 指数:华尔街反弹,币安接受 SEC 调查

对于通常收到一次转义新闻的案例以及上述案例,我如何才能正确转义新闻?


缥缈止盈
浏览 62回答 1
1回答

白衣非少年

该序列&amp;编码一个&符号。但是,例如,如果内容应该是 HTML,则可能包含更多的 HTML 转义序列。例如,如果要显示的文本包含&,在 HTML 中它将被编码为&amp;. 如果将此文本插入到 XML 中,则&还必须转义第一个字符,这会导致&amp;amp;.要获得人类可读的解码文本,您必须解析 XML 并解码为 HTML。你可以使用html.UnescapeString().例如:const src = `<title>S&amp;amp;P 500 : Wall Street amorce un rebond, Binance fait l&amp;apos;objet d&amp;apos;une enquête de la SEC</title>`var s stringif err := xml.Unmarshal([]byte(src), &s); err != nil {&nbsp; &nbsp; panic(err)}fmt.Println(s)s = html.UnescapeString(s)fmt.Println(s)这将输出(在Go Playground上尝试):S&amp;P 500 : Wall Street amorce un rebond, Binance fait l&apos;objet d&apos;une enquête de la SECS&P 500 : Wall Street amorce un rebond, Binance fait l'objet d'une enquête de la SEC
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go