3

ich JPlayer bin mit ein paar Videos anzuzeigen, und ich erstellen die Playlist on the fly in einer PHP foreach-Anweisung:Wie Text aus PHP in JavaScript zu entkommen?

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 }?> 
]; 

und $val->getDes() Beispiel I have a one-hour (approximately) solo musical revue called "Manhattan With A Twist". The entire...

der Fehler würde ich bekommen, ist

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) 

und steht am Anfang der Zeichenfolge an die '.

Ich kann dies tun: title: "<?php echo htmlspecialchars($val->getTitle());?>",

und ich werde den gleichen Fehler, aber mit " statt ' bekommen.

Ich bin mir nicht sicher, was hier passiert. Beschwert es sich darüber, dass ' nicht entkommen ist oder was?

Irgendwelche Ideen?

+3

Haben Sie darüber nachgedacht, mit [ 'json_encode()'] (http://php.net/manual/en/function.json-encode.php)? – NullUserException

+1

Oder 'addslashes()'? – Phix

+0

hmmm, lass mich versuchen – Patrioticcow

Antwort

4

einfach json_encode verwenden:

var playlistacting = <?php echo json_encode($this->result);?>; 
+0

es hat funktioniert. Warum? – Patrioticcow

+0

Warum sollte es nicht? –

+0

Ich kann es auf einem Array verwenden, aber warum funktioniert diese Zeichenfolge – Patrioticcow

Verwandte Themen