简体   繁体   English

将HTML代码更改为json_encode

[英]Change HTML code to json_encode

I have some JSON and JavaScript code ready for creating tracks code for video player, in my case for JWPlayer. 我已经准备好一些JSON和JavaScript代码,可以为视频播放器创建曲目代码,在我的JWPlayer案例中。 I want the same code but I need to use for other player like JS-Video. 我想要相同的代码,但需要用于其他播放器,例如JS-Video。

first code : 第一个代码:

$subtitleArr[] = json_encode(
  array('src'=>'some-url/subtitle.vtt',
        'label'=>'English',
        'kind'=>'captions')
);

second code : 第二个代码:

tracks: [< ?php echo str_replace('\/', '/', implode(',', $subtitleArr)); ?>]

jw player code: jw播放器代码:

tracks: [{ 
  file: "some-url/subtitle.vtt", 
        label: "English",
        kind: "captions"
}]

and I want to get that : 我想得到:

< track kind="captions" src="some-url/subtitle.vtt" label="english">

You can json_encode an entire array so, change the first part to this: 您可以json_encode整个数组,因此,将第一部分更改为:

$subtitleArr[] = 
  array('src'=>'some-url/subtitle.vtt',
        'label'=>'English',
        'kind'=>'captions');

The second part to this 第二部分

// I assume tracks is a property of some object otherwise I'd switch this to `var tracks = ...`
tracks : <?php echo json_encode($subtitleArr); ?>;

And to create the element using JS 并使用JS创建元素

var parentElement = document.getElementById('presumablyYourVideoElement');

for(var i = 0; i < tracks.length; i++) {
    var track = document.createElement('track');
    track.kind = tracks[i].kind;
    track.label = tracks[i].label;
    track.src = tracks[i].src;
    parentElement.appendChild(track);
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM