Masalah:
Sistem pengurusan kandungan membenarkan pengguna memasukkan kandungan yang mengandungi aksara khas seperti ®, yang mungkin memaparkan secara tidak konsisten merentas penyemak imbas. Matlamatnya adalah untuk menukar aksara ini kepada entiti HTML yang sepadan dan melampirkannya dalam tag untuk penggayaan yang konsisten.
Penyelesaian:
Menggunakan Ungkapan Biasa
Ekspresi biasa JavaScript menawarkan penyelesaian yang komprehensif untuk ini tugas:
<code class="javascript">var encodedStr = rawStr.replace(/[\u00A0-\u9999<>\&]/g, function(i) { return '&#'+i.charCodeAt(0)+';'; });</code>
Kod ini menggunakan ungkapan biasa untuk mencari aksara dalam julat Unicode (00A0-9999) serta ampersand, kurang daripada dan lebih besar daripada simbol. Ia kemudian menukarnya kepada entiti aksara HTML dengan menambahkan "" dan menambahkan nilai Unikod.
Contoh:
<code class="javascript">var result = encodeHTML('Test ® & ©'); // "Test <sup>&reg;</sup> &amp; <sup>&copy;</sup>"</code>
Fungsi Penggantian Boleh Disesuaikan
Untuk kawalan yang lebih terperinci, anda boleh menentukan fungsi penggantian tersuai:
<code class="javascript">var encodedStr = rawStr.replace(/[\u00A0-\u9999<>\&]/g, (i) => `<sup>&#${i.charCodeAt(0)};</sup>`);</code>
Fungsi ini menyertakan entiti HTML dalam teg dengan pemformatan khusus.
Pertimbangan Tambahan:
Dokumentasi:
Atas ialah kandungan terperinci Bagaimana untuk Mengekodkan Entiti HTML dalam JavaScript untuk Rendering Konsisten dalam Sistem Pengurusan Kandungan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!