如何将换行符转换为\n

dev*_*har 2 javascript php

我有一个db的返回字符串.

返回字符串必须以javascript格式化.

<?php
    $db = "this is a line
           this is a new line";
?>
Run Code Online (Sandbox Code Playgroud)

我如何将上述内容转换为:

<?php $db = "this is a line \n this is a new line"; ?>
Run Code Online (Sandbox Code Playgroud)

使用Javascript:

<script>
    var jdb = <?php echo $db; ?>
</script>
Run Code Online (Sandbox Code Playgroud)

Dav*_*dom 20

试试这个(更新2014-11-08):

<?php

   $db = "this is a line
          this is a new line
          ";

?>
<script type="text/javascript">
  var jdb = <?php echo json_encode($db) ?>;
</script>
Run Code Online (Sandbox Code Playgroud)


fca*_*ran 7

$db = preg_replace("/\n/m", '\n', $db);
Run Code Online (Sandbox Code Playgroud)

应该做的伎俩


red*_*ent 5

要正确保留换行符\r\n换行符,您可以轻松使用strtr

$db = strtr( $db, array(  "\n" => "\\n",  "\r" => "\\r"  ));
Run Code Online (Sandbox Code Playgroud)