javascript - 如何逃脱 amp; 在 JavaScript 中
问题描述
说我有这个字符串java&script
,我怎么能把它转换成java&script
?
在 Google Chrome 的控制台中,这不起作用
var str="java&script";
var str_esc=escape(str);
var str_unc = unescape(str_esc)
console.log(str_esc)
console.log(str_unc)
但这似乎工作得很好
<!DOCTYPE html>
<html>
<body>
<script>
var str="java&script";
var str_esc=escape(str);
document.write(str_esc + "<br>")
document.write(unescape(str_esc))
</script>
</body>
</html>
谢谢您的帮助
解决方案
您可以使用将字符串放入文本区域的函数解码实体,然后从中提取值,如下所示:
function htmlEntityDecode(str){
var txt = document.createElement('textarea');
txt.innerHTML = str;
return txt.value;
}
var str = htmlEntityDecode("java&script");
console.log( str );
或者更简单,如果真的只是那种情况,为什么不直接用简单的.replace()
方法呢?
var str = 'java&script';
str = str.replace('&', '&');
console.log( str );
但是,如果您有多个实例,则需要进行全局替换:
var str = 'java & script and script & java';
str = str.replace(/&/g, '&');
console.log( str );
推荐阅读
- visual-studio-code - 为什么满足格式后我的 vs-code 片段不起作用?
- python - 有没有办法检查一个值是否可以被给定数据集中的任何值整除?
- regex - 在 Shell 或 bash 中使用正则表达式的子字符串
- java - Java 引用条件表达式
- vulkan - 如何在 Vulkan 中将 ImGui 帧与场景渲染“混合”
- rxjs - 在 Epic 中检测两个动作的顺序
- python-3.x - python3 mysql导入解析值错误
- sass - 覆盖网格的 Vuetify 2 SASS 变量,正在工作,但输出类的顺序错误
- javascript - 带有 SQL 查询问题的准备好的语句
- c# - 不可能两次运行 IAsyncEnumerable 的枚举?