如何仅转义单引号?

2022-08-30 08:23:53

我正在编写一些使用PHP渲染的字符串的JavaScript代码。如何转义 PHP 字符串中的单引号(且仅转义单引号)?

<script type="text/javascript">
    $('#myElement').html('say hello to <?php echo $mystringWithSingleQuotes ?>');
</script>

答案 1

很简单:但是,我建议使用JSONjson_encode()函数,因为它会更可靠(例如引用新行):echo str_replace('\'', '\\\'', $myString);

<?php $data = array('myString' => '...'); ?>

<script>
   var phpData = <?php echo json_encode($data) ?>;
   alert(phpData.myString);
</script>

答案 2

如果要用 转义字符,则具有 .例如,如果您只想像问题一样转义单引号,则可以执行以下操作:\addcslashes()

echo addcslashes($value, "'");

如果要转义 、 、 和 (字节空值),可以使用:'"\nuladdslashes()

echo addslashes($value);

推荐