为了账号安全,请及时绑定邮箱和手机立即绑定

Unescape 两次在 rss 中转义标题

Unescape 两次在 rss 中转义标题

Go
缥缈止盈 2022-12-26 10:12:12
我得到了一些带有奇怪转义标题的 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-financiersOpera 浏览器正确显示此类新闻标题如下标准普尔 500 指数:华尔街反弹,币安接受 SEC 调查对于通常收到一次转义新闻的案例以及上述案例,我如何才能正确转义新闻?
查看完整描述

1 回答

?
白衣非少年

TA贡献1155条经验 获得超0个赞

该序列&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 string

if err := xml.Unmarshal([]byte(src), &s); err != nil {

    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 SEC

S&P 500 : Wall Street amorce un rebond, Binance fait l'objet d'une enquête de la SEC


查看完整回答
反对 回复 2022-12-26
  • 1 回答
  • 0 关注
  • 61 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信