Rumah > hujung hadapan web > tutorial js > Adakah Terdapat JavaScript Setara dengan `htmlspecialchars()` PHP?

Adakah Terdapat JavaScript Setara dengan `htmlspecialchars()` PHP?

DDD
Lepaskan: 2024-11-17 18:54:02
asal
205 orang telah melayarinya

Is There a JavaScript Equivalent to PHP's `htmlspecialchars()`?

JavaScript Setara dengan htmlspecialchars PHP

Menentukan sama ada terdapat fungsi JavaScript yang setara dengan htmlspecialchars PHP boleh menjadi satu cabaran. Walau bagaimanapun, pendekatan alternatif adalah untuk menentukan fungsi tersuai untuk tujuan ini.

Fungsi Tersuai untuk Melarikan Aksara HTML

Walaupun JavaScript tidak menyediakan fungsi terbina dalam secara khusus untuk melarikan aksara HTML, fungsi tersuai berikut boleh memenuhi keperluan ini:

function escapeHtml(text) {
  return text
      .replace(/&/g, "&")
      .replace(/</g, "&amp;lt;")
      .replace(/>/g, "&amp;gt;")
      .replace(/&quot;/g, "&amp;quot;")
      .replace(/'/g, "&amp;#039;");
}
Salin selepas log masuk

Fungsi ini menerima rentetan sebagai input dan menggantikan mengikuti aksara khas dengan entiti aksara HTML yang setara:

  • & → &
  • < → <
  • → >
  • " → "
  • ' → '

Pengoptimuman Prestasi

Untuk prestasi yang lebih baik, terutamanya dengan blok teks yang besar, versi diubah suai fungsi berikut boleh digunakan:

function escapeHtml(text) {
  var map = {
    '&amp;': '&amp;amp;',
    '<': '&amp;lt;',
    '>': '&amp;gt;',
    '&quot;': '&amp;quot;',
    "'"': '&amp;#039;'
  };
  
  return text.replace(/[&amp;<>&quot;']/g, function(m) { return map[m]; });
}
Salin selepas log masuk

Versi ini mencipta jadual cincang (peta) untuk memetakan aksara khas kepada entiti yang sepadan, kemudian menggunakan kaedah replace() untuk lakukan penggantian.

Atas ialah kandungan terperinci Adakah Terdapat JavaScript Setara dengan `htmlspecialchars()` PHP?. 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