Javascript 具有多行字符串的JS警报函数

Javascript 具有多行字符串的JS警报函数,javascript,alert,Javascript,Alert,我有一个php函数,可以生成一个javascript警报弹出窗口 此函数接受参数消息。 我的问题是,如果消息是一个多行字符串,javascript将不会提醒文本,因为缺少“+”行。我怎样才能解决这个问题 function alert($msg) { echo '<script type="text/javascript">alert("'.$msg.'")</script>'; } /* DOESN'T WORK */ $msg = 'testtesttes

我有一个php函数,可以生成一个javascript警报弹出窗口

此函数接受参数消息。 我的问题是,如果消息是一个多行字符串,javascript将不会提醒文本,因为缺少“+”行。我怎样才能解决这个问题

function alert($msg) {
    echo '<script type="text/javascript">alert("'.$msg.'")</script>';
}

/* DOESN'T WORK */
  $msg = 'testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttest.
      testtesttesttesttesttesttesttest.
      testtesttesttesttesttesttesttesttesttest.';
  alert($msg);

/* WORKS */
  $msg = 'testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttest. testtesttesttesttesttest. testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttestttesttesttesttesttesttest.';
  alert($msg);
功能警报($msg){
回显“警报”(“.$msg.”);
}
/*不起作用*/
$msg='testtesttest。
测试。
"测试";;
警报($msg);
/*工作*/
$msg='testtesttest。测试。测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试;
警报($msg);

问题是javascript中的多行字符串需要在每行末尾用
\
拆分

function alert($msg) {
    echo '<script type="text/javascript">alert("'.$msg.'")</script>';
}

$msg = 'testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttest.\
      testtesttesttesttesttesttesttest.\
      testtesttesttesttesttesttesttesttesttest.';
alert($msg);
功能警报($msg){
回显“警报”(“.$msg.”);
}
$msg='testtesttest\
测试\
"测试";;
警报($msg);

请在pass函数参数中使用
json\u编码
函数
json_代码函数是将链接断开为
\n

<?php 
 function alert($msg) {
    echo '<script type="text/javascript">alert('.$msg.')</script>';
}

/* DOESN'T WORK */
  $msg = 'testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttest.
      testtesttesttesttesttesttesttest.
      testtesttesttesttesttesttesttesttesttest.';
  alert(json_encode($msg));
 ?>

为什么-1?这不是一个严肃的问题吗@飞行员:你能解释一下为什么
/
?可能重复:这不起作用。问题是多行字符串,而不是函数参数。@jamesj,
json\u encode
函数将添加
\r\n
换行符,因此它可以工作,但上面的行不是有效的javascript。尝试将其粘贴到chrome开发控制台中。它给了我
语法错误:意外标记非法
@jamesj请看附件图片,我使用了相同的代码,但首先将其作为php脚本执行。这个问题没有提到PHP(尽管我现在注意到OP使用的是PHP)。