正如查询所示,PHP 的 htmlspecialchars 提供了一种在翻译时对 HTML 特殊字符进行编码的便捷方法。 JavaScript 中的相应函数将显着简化任务。
虽然 escape() 和encodeURI() 等内置函数不能按预期处理字符转义,但还有其他可用的方法。
一种方法是创建一个替换特定字符的自定义函数:
function escapeHtml(text) { return text .replace(/&/g, "&amp;") .replace(/</g, "&lt;") .replace(/>/g, "&gt;") .replace(/"/g, "&quot;") .replace(/'/g, "&#039;"); }
此函数迭代输入文本,并将特殊字符替换为 HTML 编码的等效字符。
性能优化版本,适合广泛的文本处理:
function escapeHtml(text) { var map = { '&': '&amp;', '<': '&lt;', '>': '&gt;', '"': '&quot;', "'": '&#039;' }; return text.replace(/[&<>"']/g, function(m) { return map[m]; }); }
此实现使用 JavaScript 对象将特殊字符映射到其转义序列,利用正则表达式的快速替换性能。
以上是如何使用内置或自定义函数在 JavaScript 中转义 HTML 特殊字符?的详细内容。更多信息请关注PHP中文网其他相关文章!