首页 > 解决方案 > 如何传入此函数以解码 HTML?

问题描述

如何将 unsescapeHTML() 传递给 useApiData() 以替换正在编码的字符?

function unescapeHtml(data) {
    return data.replace(/&/g, '&')
        .replace(/&lt;/g, '<')
        .replace(/&gt;/g, '>')
        .replace(/&quot;/g, '"')
        .replace(/&#039;/g, "'");
}

function useApiData(data) {
document.querySelector("#question").innerHTML = `${data[0].question}`
document.querySelector("#answer1").innerHTML = data[0].correct_answer
document.querySelector("#answer2").innerHTML = data[0].incorrect_answers[0]
document.querySelector("#answer3").innerHTML = data[0].incorrect_answers[1]
document.querySelector("#answer4").innerHTML = data[0].incorrect_answers[2]
}

标签: javascript

解决方案


我试图删除从 API 传入的 base64 编码。我认为替换字符是答案,但我需要使用 atob() 删除编码

function removeBase64Encoding(answer) {
    const newAnswer = {
        category: window.atob(answer.category),
        correct_answer: window.atob(answer.correct_answer),
        difficulty: window.atob(answer.difficulty),
        question: window.atob(answer.question),
        type: window.atob(answer.type),
        incorrect_answers: answer.incorrect_answers.map(window.atob)
    }
    return newAnswer
}

推荐阅读