Rumah > hujung hadapan web > tutorial js > Bagaimanakah Saya Boleh Menyahkod Entiti HTML dengan Cekap dalam JSON Responses?

Bagaimanakah Saya Boleh Menyahkod Entiti HTML dengan Cekap dalam JSON Responses?

Linda Hamilton
Lepaskan: 2024-12-10 18:23:09
asal
781 orang telah melayarinya

How Can I Efficiently Decode HTML Entities in JSON Responses?

Menyahkod Entiti HTML: Mencari Pendekatan yang Betul

Dalam bidang pengaturcaraan web, selalunya, respons JSON mungkin mengandungi entiti HTML yang dikodkan yang memerlukan untuk dinyahkod untuk paparan yang betul. Sebagai contoh, anda mungkin menemui rentetan JSON dengan tanda kutip yang dikodkan sebagai "'".

Kaedah biasa untuk menyahkod entiti sedemikian melibatkan memanfaatkan keupayaan penghuraian HTML jQuery. Walau bagaimanapun, pendekatan ini boleh dianggap meretas kerana sifat tidak langsungnya.

Untuk penyelesaian yang lebih halus, pertimbangkan perkara berikut:

function decodeHtml(html) {
    var txt = document.createElement("textarea");
    txt.innerHTML = html;
    return txt.value;
}
Salin selepas log masuk

Kaedah ini memanfaatkan mekanisme asli penyemak imbas dengan tepat menyahkod entiti HTML. Tidak seperti pendekatan jQuery, ia juga mengekalkan sebarang teg HTML yang terdapat dalam rentetan, memastikan kesetiaan kandungan yang dinyahkodkan.

Untuk demonstrasi praktikal, pertimbangkan perkara berikut contoh:

Input:

Entity:&amp;nbsp;Bad attempt at XSS:<script>alert('new\nline?')</script><br>
Salin selepas log masuk

Output:

Entity: Bad attempt at XSS:<script>alert('new\nline?')</script><br>
Salin selepas log masuk

Seperti yang anda boleh perhatikan, proses penyahkodan mengekalkan bukan sahaja entiti HTML khas tetapi juga tag HTML dalam rentetan, mengekalkan integriti asal kandungan.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyahkod Entiti HTML dengan Cekap dalam JSON Responses?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan