Rumah >hujung hadapan web >tutorial js >Bagaimanakah Saya Boleh Menyahkod Entiti HTML Menggunakan JavaScript atau jQuery?

Bagaimanakah Saya Boleh Menyahkod Entiti HTML Menggunakan JavaScript atau jQuery?

Patricia Arquette
Patricia Arquetteasal
2024-12-20 15:25:10621semak imbas

How Can I Decode HTML Entities Using JavaScript or jQuery?

Menyahkod Entiti HTML dengan JavaScript/jQuery

Dalam pembangunan web, selalunya perlu untuk menyahkod entiti HTML untuk memaparkan aksara khas dengan betul. Soalan ini meneroka cara untuk mencapai ini menggunakan JavaScript atau jQuery.

Penyelesaian 1: Menggunakan jQuery

Walaupun kod jQuery yang disediakan boleh menyahkod entiti HTML, ia mempunyai potensi kelemahan berkaitan kepada prestasi dan keselamatan. Fungsi yang lebih selamat dan lebih dioptimumkan disyorkan:

var decodeEntities = (function() {
  // Internal element for HTML parsing
  var element = document.createElement('div');

  function decodeHTMLEntities(str) {
    if (str && typeof str === 'string') {
      // Sanitize HTML tags
      str = str.replace(/<script[^>]*>([\S\s]*?)<\/script>/gmi, '');
      str = str.replace(/<\/?\w(?:[^"'>]|"[^"]*"|'[^']*')*>/gmi, '');

      // Decode entities
      element.innerHTML = str;
      str = element.textContent;
      element.textContent = '';
    }

    return str;
  }

  return decodeHTMLEntities;
})();

Penggunaan:

var decodedString = decodeEntities("&amp;amp;");

Penyelesaian 2: Menggunakan Pemalam jQuery

Fungsi decodeEntities boleh ditukar dengan mudah menjadi jQuery pemalam:

jQuery.decodeEntities = decodeHTMLEntities;

Penggunaan:

$(".selector").text(jQuery.decodeEntities("&amp;amp;"));

Contoh:

Pertimbangkan rentetan input `var var

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyahkod Entiti HTML Menggunakan JavaScript atau jQuery?. 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