Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk Mengekodkan Entiti HTML dalam JavaScript untuk Rendering Konsisten dalam Sistem Pengurusan Kandungan?

Bagaimana untuk Mengekodkan Entiti HTML dalam JavaScript untuk Rendering Konsisten dalam Sistem Pengurusan Kandungan?

DDD
DDDasal
2024-10-28 04:31:30964semak imbas

How to Encode HTML Entities in JavaScript for Consistent Rendering in Content Management Systems?

Enkodkan Entiti HTML dalam JavaScript

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<>\&amp;]/g, function(i) {
   return '&amp;#'+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 ® &amp; ©'); // "Test <sup>&amp;reg;</sup> &amp;amp; <sup>&amp;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<>\&amp;]/g, (i) => `<sup>&amp;#${i.charCodeAt(0)};</sup>`);</code>

Fungsi ini menyertakan entiti HTML dalam teg dengan pemformatan khusus.

Pertimbangan Tambahan:

  • Pastikan pengekodan aksara UTF8 dan storan pangkalan data untuk mengelakkan isu paparan.
  • Penyelesaian mungkin tidak menyelesaikan semua percanggahan pemaparan disebabkan oleh konfigurasi fon sistem dan faktor lain di luar kawalan anda.

Dokumentasi:

  • [String.charCodeAt()] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/charCodeAt)
  • [Entiti Aksara HTML](http://www.chucke.com /entities.html)

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!

Kenyataan:
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