使用 javascript 转义 html 和非 ascii 字符

Escape html & non-ascii chars with javascript

好的,所以我需要将所有 <、& 和 > 加上所有非 ascii 字符替换为它们的 html 实体对应物。我试过 Underscore.string.escapeHTML 但似乎没有触及非 ascii 字符。

例如我需要这个:

<div>föö bär</div>

转换成这样:

&lt;div&gt;f&ouml;&ouml; b&auml;r&lt;/div&gt;

显然auml和ouml是不够的。无论用户选择按下什么按钮,我都需要一个有效的 ascii 字符串,或者天堂不允许,甚至用一些 moonspeak 键盘写。

我找到了你要找的东西here

出于您的需要,您必须使用 htmlEncode 函数。

它们在对象中定义了许多其他有用的函数:

HTML2Numerical:将 HTML 个实体转换为其数值等价物。

NumericalToHTML:将数字实体转换为其 HTML 等价物。

numEncode: 数字编码 unicode 字符。

html解码:将HTML编码文本解码为其原始状态。

html编码:将HTML编码为数字或HTML实体。这是由 EncodeType 属性.

决定的

XSSEncode:将XSS攻击中使用的基本字符编码为畸形HTML.

correctEncoding:更正任何双重编码的符号。

stripUnicode: 删除所有 unicode 字符。

hasEncoded:Returns 如果字符串中包含 html 个编码实体,则为真。

来源:www.strictly-software.com

注意许可协议 - GPL、MIT 许可 (MIT)