将 Unicode 符号 (") 更改为等效的 html 符号 (")



我正在react(JavaScript,html(中进行一个项目,在该项目中,我们调用谷歌搜索api,该api返回带有搜索结果内容的标题。目前,当我们得到结果时,它们是Unicode的,例如

this isn't what I want

我想要的是

this isn't what i want

我会做一个字符串替换,但是有多个不同的代码,如果不长的话,我无法解释所有代码。关于我如何改变这个有什么建议吗?

您可以简单地创建一个元素,将其HTML内容设置为编码字符串,然后返回其文本内容。

const encodedResults = 'this isn't what I want';
const div = document.createElement('div');
div.innerHTML = encodedResults;
const decodedResults = div.textContent; // this isn't what i want

编辑:@Mr Lister提到,只有当输入不包含实际的html标记时,上述方法才有效。

对于包含html标记的输入,您可以创建一个文本区域,设置其内容,然后返回其值。

const encodedResults = 'this <i>isn&#39;t</i> what I want';
const textarea = document.createElement('textarea');
textarea.innerHTML = encodedResults;
const decodedResults = textarea.value; // this <i>isn't</i> what i want

最新更新