Seperti yang dicadangkan oleh pertanyaan, htmlspecialchars PHP menyediakan cara yang mudah untuk mengekod aksara khas HTML semasa terjemahan. Fungsi yang sepadan dalam JavaScript akan memudahkan tugas dengan ketara.
Walaupun fungsi terbina dalam seperti escape() dan encodeURI() tidak mengendalikan pelarian aksara seperti yang diharapkan, terdapat alternatif yang tersedia.
Satu pendekatan ialah mencipta fungsi tersuai yang menggantikan khusus aksara:
function escapeHtml(text) { return text .replace(/&/g, "&amp;") .replace(/</g, "&lt;") .replace(/>/g, "&gt;") .replace(/"/g, "&quot;") .replace(/'/g, "&#039;"); }
Fungsi ini berulang melalui teks input dan menggantikan aksara khas dengan persamaan yang dikodkan HTML.
Versi yang dioptimumkan prestasi, sesuai untuk pemprosesan teks yang meluas:
function escapeHtml(text) { var map = { '&': '&amp;', '<': '&lt;', '>': '&gt;', '"': '&quot;', "'": '&#039;' }; return text.replace(/[&<>"']/g, function(m) { return map[m]; }); }
Pelaksanaan ini menggunakan objek JavaScript untuk memetakan aksara khas kepada mereka urutan melarikan diri, memanfaatkan prestasi penggantian pantas ungkapan biasa.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melarikan Diri Aksara Khas HTML dalam JavaScript Menggunakan Fungsi Terbina Dalam atau Tersuai?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!