首页 > web前端 > js教程 > 是否有与 PHP 的 `htmlspecialchars()` 等效的 JavaScript?

是否有与 PHP 的 `htmlspecialchars()` 等效的 JavaScript?

DDD
发布: 2024-11-17 18:54:02
原创
205 人浏览过

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

JavaScript 等价于 PHP 的 htmlspecialchars

确定是否存在与 PHP 的 htmlspecialchars 等价的 JavaScript 函数可能是一个挑战。然而,另一种方法是为此目的定义一个自定义函数。

HTML 字符转义的自定义函数

虽然 JavaScript 没有专门提供内置函数对于 HTML 字符转义,以下自定义函数可以满足此需求:

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

此函数接受字符串作为输入,并将以下特殊字符替换为其等效的 HTML 字符实体:

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

性能优化

为了提高性能,特别是对于大文本块,可以使用该函数的以下修改版本:

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]; });
}
登录后复制

此版本创建一个哈希表(映射) 将特殊字符映射到其对应的实体,然后使用 Replace() 方法执行替换。

以上是是否有与 PHP 的 `htmlspecialchars()` 等效的 JavaScript?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板