解码&;回到&in JavaScript

解码&;回到&in JavaScript

我的弦就像

var str = 'One & two & three';

由Web服务器呈现到HTML中。我需要把这些字符串转换成

'One & two & three'

目前,这就是我正在做的事情(在jQuery的帮助下):

$(document.createElement('div')).html('{{ driver.person.name }}').text()

然而,我有一种不安的感觉,认为我做错了。我试过了

unescape("&")

但是它似乎不起作用,decdeURI/decdeURIComponent也不起作用。

还有其他更自然、更优雅的方法吗?


小怪兽爱吃肉
浏览 276回答 3
3回答

小唯快跑啊

您需要解码所有编码的HTML实体还是仅仅&本身?如果你只需要处理&然后你可以这样做:var decoded = encoded.replace(/&/g, '&');如果您需要解码所有HTML实体,那么可以不使用jQuery:var elem = document.createElement('textarea');elem.innerHTML = encoded;var decoded = elem.value;请注意Mark下面的评论,其中突出了本答案的早期版本中的安全漏洞,并建议使用textarea而不是div以减少潜在的XSS漏洞。无论使用jQuery还是普通JavaScript,都存在这些漏洞。
打开App,查看更多内容
随时随地看视频慕课网APP