[英]Pass PHP variable to javascript including quotes and javascript
[英]PHP variable (with quotes) in JavaScript
我正在尝试访问JavaScript中的PHP变量。 我已经将PHP变量中的引号转义了,而JavaScript不会将其选中。 在不更改$ a1 php变量的情况下,如何在JavaScript中访问它?
<?php
$a1 = "Here is the \"best\" apple around"; //<-- doesn't work in javascript...
$a2 = "Here is the best apple around"; //<--works fine in javascript...
?>
JavaScript的:
<script type="text/javascript">
var str = "<?php echo $a1; ?>";
alert(str);
</script>
使用json_encode
可以简化和保持一致性 。 请参阅ideone示例 。
<?php
$a1 = "Here is the \"best\" apple around";
?>
var str = <?php echo json_encode($a1); ?>;
结果:
var str = "Here is the \"best\" apple around";
不要在JavaScript本身中提供引号,因为引号来自所需的编码结果。
好处:
根据您要输出“ str”的位置(在警报中还是在html页面上),我会采用不同的命令。
<script type="text/javascript">
var str = "<?php echo addslashes($a1); ?>";
alert(str);
</script>
如果您想将其添加为新的DOM元素,则希望使用htmlspecialchars
或htmlentities
。
作为备选:
var str = <?php echo json_encode($a1, JSON_UNESCAPED_UNICODE); ?>;
使用htmlspecialchars转换$ a1
$a1 = htmlspecialchars("Here is the \"best\" apple around");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.