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

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


这是 PHP 字符串:


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

和是AlpineJS属性,以防您想知道(检查一下,它真的很酷!):class。x-on:


这个 PHP 字符串是动态生成的,我想将它传递给一个 javascript 变量,如下所示jsVariable:


<script>

function test() {

  return {

    jsVariable: ,

    anotherVariable: true,

  }

}

</script>

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


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


月关宝盒
浏览 113回答 2
2回答

不负相思意

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

慕莱坞森

如果只是用ASCII编码,可以试试base64编码。PHP 将字符串编码为 base64,然后使用 Javascript 进行解码,如下所示:<script>function test(){&nbsp; var str = '<?php echo base64_encode($str);?>';&nbsp; return {&nbsp; &nbsp; jsVariable: atob(str),&nbsp; &nbsp; anotherVariable: true&nbsp; }}alert(test().jsVariable)</script>希望这可以帮助。
打开App,查看更多内容
随时随地看视频慕课网APP