JavaScript 的 htmlEntities

Avatar of Chris Coyier
Chris Coyier

htmlentities() 是一个 PHP 函数,它将特殊字符(如 <)转换为其转义/编码值(如 &lt;)。这允许您显示字符串,而不会让浏览器将其读取为 HTML。

JavaScript 没有它的原生版本。如果您只需要最基本的功能,以便浏览器不会将其解释为 HTML,那么以下方法应该可以正常工作(来自 James Padolsey,我从 David Walsh 获得了类似的想法)。

function htmlEntities(str) {
    return String(str).replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/"/g, '&quot;');
}

PHP.js 项目,旨在将所有 PHP 的原生函数移植到 JavaScript,其中也包含一个示例。我尝试过,它确实有效,但有人警告我该项目中的许多代码编写得很糟糕,因此我保持简单,并使用了上述方法。