Rumah >hujung hadapan web >tutorial js >Bagaimanakah Saya Boleh Melarikan Diri Aksara Khas HTML dalam JavaScript Menggunakan Fungsi Terbina Dalam atau Tersuai?

Bagaimanakah Saya Boleh Melarikan Diri Aksara Khas HTML dalam JavaScript Menggunakan Fungsi Terbina Dalam atau Tersuai?

Patricia Arquette
Patricia Arquetteasal
2024-11-19 04:31:02206semak imbas

How Can I Escape HTML Special Characters in JavaScript Using Built-In or Custom Functions?

Melepaskan Aksara Khas HTML dengan Fungsi Terbina Dalam JavaScript?

Seperti yang dicadangkan oleh pertanyaan, htmlspecialchars PHP menyediakan cara yang mudah untuk mengekod aksara khas HTML semasa terjemahan. Fungsi yang sepadan dalam JavaScript akan memudahkan tugas dengan ketara.

Walaupun fungsi terbina dalam seperti escape() dan encodeURI() tidak mengendalikan pelarian aksara seperti yang diharapkan, terdapat alternatif yang tersedia.

Tersuai Pelaksanaan

Satu pendekatan ialah mencipta fungsi tersuai yang menggantikan khusus aksara:

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

Fungsi ini berulang melalui teks input dan menggantikan aksara khas dengan persamaan yang dikodkan HTML.

Versi Dioptimumkan

Versi yang dioptimumkan prestasi, sesuai untuk pemprosesan teks yang meluas:

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

Pelaksanaan ini menggunakan objek JavaScript untuk memetakan aksara khas kepada mereka urutan melarikan diri, memanfaatkan prestasi penggantian pantas ungkapan biasa.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melarikan Diri Aksara Khas HTML dalam JavaScript Menggunakan Fungsi Terbina Dalam atau Tersuai?. 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