1

だから私はこのような JavaScript を書いているこの PHP を持っています:

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 タグを正しく表示するには、これをすべて 1 回の追加で行う必要があることを学びました。ただし、これをすべて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

ヒアドキュメント構文を使用して 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;

?>

次に、単純echoに PHP の文字列連結を使用します。

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