use*_*711 0 html javascript escaping
如果不首先转义 & 符号,为什么类似的转义代码不适用于 html 元素中的 html 转义?当我把 & 放在第一位后,一切正常。
function escapeHtml(unsafe) {
return unsafe
.replace(/&/g, "&")
.replace(/</g, "<")
.replace(/>/g, ">")
.replace(/"/g, """)
.replace(/'/g, "'");
}
Run Code Online (Sandbox Code Playgroud)
谢谢
考虑会发生什么:
This sentence has an <html> tag in it
Run Code Online (Sandbox Code Playgroud)
如果你<>先进行替换,你最终会得到
This sentence has an <html> tag in it
Run Code Online (Sandbox Code Playgroud)
然后你进行&替换,并得到
This sentence has an &lt;html&gt; tag in it
Run Code Online (Sandbox Code Playgroud)
现在您的<和>已损坏,因为<>字符已被双重编码。
如果你&先编码,事情就会“正常工作”。