3

私はいくつかのビデオを表示するために jPlayer を使用しており、php foreach ステートメントでその場でプレイリストを作成します。

var playlistacting = 
            [
        <?php foreach($this->result as $val){?>
                {
                    title:  '<?php echo $val->getTitle();?>',
                    artist: '<?php echo $val->getDes();?>',
                    poster: "<?php echo $val->getVideoId();?>.jpg",
                    thumb:  "<?php echo $val->getVideoId();?>.jpg",
                    flv:    "<?php echo $val->getVideoId();?>.flv",
                },
        <?php }?>
];

そして$val->getDes()例はI have a one-hour (approximately) solo musical revue called "Manhattan With A Twist". The entire...

私が得るエラーは

unterminated string literal
[Break On This Error]   

artist: 'I have a one-hour (approximately)solo musical revue called "Manhattan W...

jquery.js (line 2, col 32)

文字列の先頭にある を指して'います。

私がすることができます:title: "<?php echo htmlspecialchars($val->getTitle());?>",

同じエラーが発生しますが、"代わりに'.

ここで何が起こっているのかわかりません。逃げられないことへの不満なの'か、それとも何なのか。

何か案は?

4

1 に答える 1

4

単純に json_encode を使用します:

var playlistacting = <?php echo json_encode($this->result);?>;
于 2012-04-04T20:55:07.563 に答える