如何在Javascript中处理换行? (来自PHP)

时间:2010-11-24 19:19:50

标签: php javascript html newline

我有这样的代码:

<?php
echo '<script type="text/javascript">';
echo 'var out="'.$txt.'";';
echo '</script>';
?>

其中$ txt是一个PHP变量,可以包含这样的换行符:

line1
 line2 hello world

最终会是这样的:

var out="line1
 line2 hello world";

当然会导致Javascript错误。

处理此问题的最佳方法是什么? out变量将在HTML textarea中使用,所以我认为它不能被解析为<br>

6 个答案:

答案 0 :(得分:32)

答案 1 :(得分:4)

您可以在一行末尾添加\以创建多行字符串

var out="line1 \
 line2 hello world";

答案 2 :(得分:0)

答案 3 :(得分:0)

我试过这个并且效果很好。

<?php
    echo '<script type="text/javascript">';
    $txt = "line1 \\n line2 hello world";
    echo 'var out="'.$txt.'";';
    echo '</script>';
?>

我正在使用PHP 5.3

答案 4 :(得分:0)

$content = str_replace( "\\n", "\\\\\\n", $content );

结果:

var a = "Hello \
World"

答案 5 :(得分:0)

其中大部分都不适合我。 通常,我会使用像

这样的json_encode
    <?php
        $MyVar = json_encode($MyVar);
    ?>
    <javascript language='javascript'>
        MyVar = <?php echo $MyVar; ?>

但是为了快速解决问题,你可以像这样打破一条线: 注意双引号。

    <?php
    $MyVar = "line one here
              then line two here


              finally line five here";

    //** OR

    $MyVar = $MyVarA . 
    "

    " 
    . $MyVarB;

    ?>
    <HTML>
    <HEAD>
    <javascript language='javascript'>
    Myvar = "<?php echo $MyVar; ?>";

。 。 。