我在php中解析了一个javascript数组。我的问题是数组中的某些字符串包含与号,并且它们在JavaScript中变为&而不是&。这是一个简单的例子来说明我的问题:

<? $titles = json_encode(array("H&M", "Tesco")); ?>

<script>
var titles = <? echo $titles; ?>;
console.log(titles[0]);
</script>


日志显示为:

H&amp;M

最佳答案

发生这种情况是因为HTTP协议就是这样分割GET或POST事务的元素的。这将解决javascript端的问题:

var convertAmpersand = function(str) {
  return str.replace(/&amp;/g, "\&");
};

console.log(convertAmpersand(titles[0]));

10-08 08:03