HtmlSpecialChars是否等同于Javascript?

HtmlSpecialChars是否等同于Javascript?,第1张

HtmlSpecialChars是否等同于Javascript?

解决方案代码存在问题-它只会转义每个特殊字符的第一次出现。例如:

escapeHtml('Kip's <b>evil</b> "test" pre's here');Actual:   Kip&#039;s &lt;b&gt;evil</b> &quot;test" pre's hereExpected: Kip&#039;s &lt;b&gt;evil&lt;/b&gt; &quot;test&quot; pre&#039;s here

这是正常工作的代码:

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

更新资料

以下代码将产生与上面相同的结果,但是它的性能更好,尤其是在大块文本上(感谢jbo5112)。

function escapeHtml(text) {  var map = {    '&': '&amp;',    '<': '&lt;',    '>': '&gt;',    '"': '&quot;',    "'": '&#039;'  };  return text.replace(/[&<>"']/g, function(m) { return map[m]; });}


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5147927.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-18
下一篇 2022-11-18

发表评论

登录后才能评论

评论列表(0条)

保存