我有这样的代码:
<?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>
答案 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; ?>";
。 。 。