避免在html中形成字符实体

时间:2014-08-07 09:22:21

标签: javascript html character-encoding

我有这个javascript。

var url = http://localhost:8080/temp?a=b&c=2

我想要成为

var url = http://localhost:8080/temp?a=b&c=2

即。没有&

我该怎么做?

2 个答案:

答案 0 :(得分:0)

您可以使用一个简单的函数将字符串作为HTML插入元素中,然后获取生成的文本:

function deEntify(s) {
  var div = document.createElement('div');
  div.innerHTML = s;
  return div.textContent || div.innerText || '';
}

您可能想要检查输入字符串是否包含可能被误解的字符序列。

您也可以考虑Convert HTML Character Entities back to regular text using javascript的已接受答案,但如果您想要考虑所有答案,则会about 250 entities

答案 1 :(得分:0)

代码

var url = http://localhost:8080/temp?a=b&c=2

不正确,无效。您需要将字符串文字放在引号中。而且你必须这样写&,因为它在JavaScript中没有特殊含义,只有HTML(和XML)。因此,除非将值解析为HTML,否则只需使用

var url = 'http://localhost:8080/temp?a=b&c=2'