繁体   English   中英

将 PHP 变量传递给 javascript,包括引号和 javascript

[英]Pass PHP variable to javascript including quotes and javascript

这个问题已被问过几次,答案似乎是使用json_encode但这不起作用,因为我的字符串包含比引号更多的东西。

这是 PHP 字符串:

<img src="test.jpg" :class="{ 'add-class': comment == 1, 'another-class': comment == 2 }" x-on:click="submit()">

:classx-on:AlpineJS属性,以防您想知道(看看,它真的很酷。)。

这个 PHP 字符串是动态生成的,我想将它传递给 javascript 变量,此处显示为jsVariable

<script>
function test() {
  return {
    jsVariable: ,
    anotherVariable: true,
  }
}
</script>

更新如果我使用jsVariable: <?php echo json_encode($php_variable); ?>, jsVariable: <?php echo json_encode($php_variable); ?>,我在该行得到 SyntaxError: Unexpected token '&'。

如果我使用jsVariable: '<?php echo json_encode($php_variable); ?>', jsVariable: '<?php echo json_encode($php_variable); ?>', (添加单引号)然后变量被解析为字符串而不是 HTML。

使用json_encode()

<script>
function test() {
  return {
    jsVariable: <?php echo json_encode($php_variable); ?>,
    anotherVariable: true,
  }
}
</script>

如果你只是使用 ASCII 编码,你可以试试 base64 编码。

PHP 将字符串编码为 base64 和 Javascript 进行解码,如下所示:

<script>
function test(){
  var str = '<?php echo base64_encode($str);?>';
  return {
    jsVariable: atob(str),
    anotherVariable: true
  }
}

alert(test().jsVariable)
</script>

希望这可以帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM