1

所以我得到了这个 PHP,它正在编写一些看起来像这样的 JavaScript:

echo '<script type="text/javascript">

var videoArr=["'.implode('", "', $videos).'"];
var titleArr=["'.implode('", "', $titles).'"];
var explanationArr=["'.implode('", "', $explanations).'"];
var i = 0;

function appendVideo(i) {

var url ="http://www.youtube.com/embed/" + videoArr[i] + "?rel=0&amp;autohide=1&amp;showinfo=0";

$("#stage").append("<div class=\"video\">");
$("#stage").append(titleArr[i] + "<br />");
$("#stage").append("<iframe width=\"400\" height=\"225\" src=\"" + url + "\" frameborder=\"0\" allowfullscreen></iframe>");
$("#stage").append("<br /><img src=\"images/btn_play.png\" onclick=\"play(\'" + videoArr[i] + "\')\" />");
$("#stage").append("<img src=\"images/btn_show.png\" onclick=\"show(\'" + videoArr[i] + "\')\" /><br />");
$("#stage").append("</div>");
}

</script>';

但在阅读此内容后:http: //littleurl.info/wdl我了解到我必须在一个附加项中完成所有这些操作,我的 DIV 标记才能正确显示。但是,我发现不可能让我的语法正确,因为我是通过 PHP 完成的。谁能帮我调试下面的代码?请记住,它全部包含在带有单个引号的回声中。

$("#stage").append("<div class=\"video\">"+ titleArr[i] + "<br />
<iframe width=\"400\" height=\"225\" src=\"" + url + "\" frameborder=\"0\" allowfullscreen></iframe><br />
<img src=\"images/btn_play.png\" onclick=\"play(\'" + videoArr[i] + "\')\" />
<img src=\"images/btn_show.png\" onclick=\"show(\'" + videoArr[i] + "\')\" /><br />
</div>");
4

1 回答 1

0

尝试使用heredoc 语法将您的 HTML/Javascript 保存在 PHP 中的变量中,这样您就不需要转义所有内容:

<?php

$javascript_part_1 = <<<END_SCRIPT

    <script>
    ...

END_SCRIPT;

$javascript_part_2 = <<<END_SCRIPT

    ...

END_SCRIPT;

$javascript_part_3 = <<<END_SCRIPT

    ...
    </script>

END_SCRIPT;

?>

然后,只需使用echoPHP 的字符串连接:

echo $javascript_part_1 . $videos . $javascript_part_2 . $titles . $javascript_part_3;
于 2012-07-16T00:23:43.030 回答