JavaScript Equivalent to PHP's htmlspecialchars
Dalam JavaScript, tiada fungsi terbina dalam yang sama secara langsung dengan htmlspecialchars PHP untuk menukar aksara khas HTML kepada entiti watak. Walau bagaimanapun, terdapat penyelesaian tersuai yang boleh mencapai hasil yang serupa.
Pelaksanaan Tersuai
Satu pendekatan ialah mentakrifkan fungsi tersuai yang menterjemah setiap aksara khas secara manual. Contohnya:
function escapeHtml(text) { return text .replace(/&/g, "&") .replace(/</g, "<") .replace(/>/g, ">") .replace(/"/g, """) .replace(/'/g, "'"); }
Fungsi ini mengambil rentetan sebagai input dan menggantikan semua kemunculan aksara berikut dengan entiti aksara yang sepadan:
- >
- " - "
- ' - '
Diperbaiki Prestasi
Untuk prestasi yang lebih baik, terutamanya dengan teks yang besar, anda boleh menggunakan versi yang dioptimumkan sedikit:
function escapeHtml(text) { var map = { '&': '&', '<': '<', '>': '>', '"': '"', "'": ''' }; return text.replace(/[&<>"']/g, function(m) { return map[m]; }); }Salin selepas log masukVersi ini menggunakan jadual carian untuk menyimpan pemetaan entiti aksara, yang menghapuskan keperluan untuk operasi ganti berbilang.
Atas ialah kandungan terperinci Bagaimana untuk Mencapai Setara dengan htmlspecialchars PHP dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!