What is the easiest way to encode a PHP string for output to a JavaScript variable?
I have a PHP string which includes quotes and newlines. I need the contents of this string to be put into a JavaScript variable.
Normally, I would just construct my JavaScript in a PHP file, à la:
<script> var myvar = "<?php echo $myVarValue;?>"; </script>
However, this doesn't work when $myVarValue
contains quotes or newlines.
Expanding on someone else's answer:
<script> var myvar = <?php echo json_encode($myVarValue); ?>; </script>
Using json_encode() requires:
$myVarValue
encoded as UTF-8 (or US-ASCII, of course)Since UTF-8 supports full Unicode, it should be safe to convert on the fly.
Note that because json_encode
escapes forward slashes, even a string that contains </script>
will be escaped safely for printing with a script block.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With