使用PHP使用JavaScript编写HTML

时间:2012-07-16 00:16:09

标签: php javascript jquery html

所以我得到了这个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>");

1 个答案:

答案 0 :(得分:0)

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

<?php

$javascript_part_1 = <<<END_SCRIPT

    <script>
    ...

END_SCRIPT;

$javascript_part_2 = <<<END_SCRIPT

    ...

END_SCRIPT;

$javascript_part_3 = <<<END_SCRIPT

    ...
    </script>

END_SCRIPT;

?>

然后,只需使用PHP的字符串连接{/ 1}}:

echo