Rumah > hujung hadapan web > tutorial js > Bagaimana untuk Mencapai Setara dengan htmlspecialchars PHP dalam JavaScript?

Bagaimana untuk Mencapai Setara dengan htmlspecialchars PHP dalam JavaScript?

DDD
Lepaskan: 2024-12-03 02:06:13
asal
211 orang telah melayarinya

How to Achieve the Equivalent of PHP's htmlspecialchars in JavaScript?

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, "&quot;")
      .replace(/'/g, "&apos;");
}
Salin selepas log masuk

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 = {
        '&': '&amp;',
        '<': '<',
        '>': '>',
        '"': '&quot;',
        "'": '&apos;'
      };
      
      return text.replace(/[&<>"']/g, function(m) { return map[m]; });
    }
    Salin selepas log masuk

    Versi 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!

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