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

DDD
Lepaskan: 2024-10-28 04:31:30
asal
963 orang telah melayarinya

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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!

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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!