[英]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()">
:class
和x-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.