我正在编写一些JavaScript代码,它使用用PHP呈现的字符串。如何转义PHP字符串中的单引号(并且只转义单引号)?
<script type="text/javascript">
$('#myElement').html('say hello to <?php echo $mystringWithSingleQuotes ?>');
</script>
发布于 2011-06-08 01:30:34
非常简单:echo str_replace('\'', '\\\'', $myString);
然而,我建议使用JSON和json_encode()
函数,因为它会更可靠(例如,引用新行):
<?php $data = array('myString' => '...'); ?>
<script>
var phpData = <?php echo json_encode($data) ?>;
alert(phpData.myString);
</script>
发布于 2017-02-03 18:31:26
如果您想使用\
对字符进行转义,您可以使用addcslashes()
。例如,如果您想要像问题一样只转义单引号,您可以这样做:
echo addcslashes($value, "'");
如果您想转义'
、"
、\
和nul
(字节为空),则可以使用addslashes()
echo addslashes($value);
发布于 2011-06-08 01:29:57
str_replace("'", "\'", $mystringWithSingleQuotes);
https://stackoverflow.com/questions/6269188
复制相似问题