首頁  >  文章  >  web前端  >  如何使用內建或自訂函數在 JavaScript 中轉義 HTML 特殊字元?

如何使用內建或自訂函數在 JavaScript 中轉義 HTML 特殊字元?

Patricia Arquette
Patricia Arquette原創
2024-11-19 04:31:02155瀏覽

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

使用 JavaScript 內建的函數轉義 HTML 特殊字元?

如查詢所示,PHP 的 htmlspecialchars 提供了一種在翻譯時對 HTML 特殊字元進行編碼的便捷方法。 JavaScript 中的對應函數將顯著簡化任務。

雖然 escape() 和encodeURI() 等內建函數無法如預期處理字元轉義,但還有其他可用的方法。

自訂實作

一種方法是建立一個替換特定字元的自訂函數:

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;);
}

此函數迭代輸入文本,並將特殊字元替換為其HTML 編碼的等效字元。

最佳化版本

效能最佳化版本,適合廣泛的文字處理:

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]; });
}

此實作使用JavaScript 物件將特殊字元對應到其轉義序列,利用正規則表達式的快速替換性能。

以上是如何使用內建或自訂函數在 JavaScript 中轉義 HTML 特殊字元?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn