我正在从api调用数据,而数据有特殊字符。例如,在返回的对象中:
{
question : "In which year did the British television series "The Bill" end?"
}
如果我将这个值存储在一个变量中,它会将其保存为字符串,当我使用JSX调用这个变量时,它会认为它是一个字符串,并且不识别特殊字符。
我该如何解决这个问题?
export default function Quiz(props){
const element = "In which year did the British television series "The Bill" end?"
return (
<main>
{element}
</main>
)
}
我想把这个呈现在屏幕上
英国电视连续剧《比尔》是哪一年结束的?
4条答案
按热度按时间dxxyhpgq1#
您可以使用DOMParser将HTML实体转换为字符,方法是获取解析后的body元素的
innerText
。由于我们只处理和呈现文本内容,而不是HTML内容,因此我们不必担心危险地设置HTML(使用dangerouslySetInnerHTML
之类的内容),这可能会导致XSS:ny6fqffe2#
您可以使用javascript字符串方法
replaceAll()
。您可以将其用作
string.replaceAll
("““,”\"
“)运行代码段,您将得到您想要的答案。
sf6xfgos3#
您可以创建并调用一个小的“sanitise”函数,该函数接受键/值对的字典,并在每个字典上运行
replaceAll
来交换HTML实体。u5rb5r594#
这里是非常简单易用的解决方案,没有任何头痛
只需安装一个名为react-render-markup react包,然后导入到您的组件中,在该组件中您要将此字符串转换为计划文本,它实际上是一个HTML标记😉,如下所示:
去看看那神奇的