我有一个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);
答案 0 :(得分:2)
问题是javascript中的多行字符串需要在每行末尾用\
分割。
function alert($msg) {
echo '<script type="text/javascript">alert("'.$msg.'")</script>';
}
$msg = 'testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttest.\
testtesttesttesttesttesttesttest.\
testtesttesttesttesttesttesttesttesttest.';
alert($msg);
答案 1 :(得分:0)
请在通过功能参数
中使用json_encode
功能
json_code函数是将链接分解为\n
<?php
function alert($msg) {
echo '<script type="text/javascript">alert('.$msg.')</script>';
}
/* DOESN'T WORK */
$msg = 'testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttest.
testtesttesttesttesttesttesttest.
testtesttesttesttesttesttesttesttesttest.';
alert(json_encode($msg));
?>
这个镀铬