如何在JavaScript中转义来自PHP的文本?
我正在使用jPlayer显示一些视频,并在php foreach语句中动态创建播放列表:如何在JavaScript中转义来自PHP的文本?,javascript,jquery,escaping,string-literals,html-escape-characters,Javascript,Jquery,Escaping,String Literals,Html Escape Characters,我正在使用jPlayer显示一些视频,并在php foreach语句中动态创建播放列表: var playlistacting = [ <?php foreach($this->result as $val){?> { title: '<?php echo $val->getTitle();?>', art
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 }?>
];
并指向字符串开头的“
我可以这样做:title:,
我将得到相同的错误,但是使用“
而不是”
我不知道这里发生了什么。是抱怨“
没有被转义还是什么
有什么想法吗?只需使用json\u编码:
var playlistacting = <?php echo json_encode($this->result);?>;
var=;
您考虑过使用吗?我可以看到在数组中使用它,但为什么要使用此字符串它不是在字符串上工作,而是在包含字符串的数组/对象上工作。我不知道为什么这样做。json\u encode()
是正确的答案,但是从您向我们展示的结果
对象来看,仅仅调用一次json_encode(),它不会生成所有正确的数据。我希望您首先需要将$this->result
构建成所需格式的PHP数组,然后json_encode()
没错。@Spudley:没错,文件扩展名丢失了。但它们似乎是静态的,所以以后需要时也可以在javascript中追加它们。@Spudley它工作得很好,文本返回时包含所有引号和所有内容。
var playlistacting = <?php echo json_encode($this->result);?>;