Php 从JSON解析视频名称和url
我需要帮助从一些JSON数据解析视频的名称和URLPhp 从JSON解析视频名称和url,php,json,Php,Json,我需要帮助从一些JSON数据解析视频的名称和URL <?php $json = file_get_contents('http://odnoklassniki.ru/dk?cmd=videoPlayerMetadata&mid=507252337'); $obj = json_decode($json); foreach($obj->videos as $videos){ $string = $videos->url; $arr = explode('cl
<?php
$json = file_get_contents('http://odnoklassniki.ru/dk?cmd=videoPlayerMetadata&mid=507252337');
$obj = json_decode($json);
foreach($obj->videos as $videos){
$string = $videos->url;
$arr = explode('clientType=0',$string);
$string = implode('clientType=0", type:"mp4"},',$arr);
$arr = explode('http',$string);
$string = implode('{ file: "http',$arr);
echo $string;
}
?>
原始url:
您可以在此处进行测试:
$video
变量是一个stdClass
对象,这意味着您可以通过$video->value
检索另一个值。如果您试图基于另一个数据(如小提琴上的数据)创建另一个json,请不要手动创建json字符串。在另一个容器中收集所需的值,然后重新编码
$data = json_decode(file_get_contents('http://odnoklassniki.ru/dk?cmd=videoPlayerMetadata&mid=507252337'), true);
$return = array();
foreach($data['videos'] as $videos){
$filename = $videos['name'];
$url = $videos['url'];
$type = 'mp4';
$return[] = array(
'file' => $url,
'type' => $type,
'name' => $filename,
);
}
echo json_encode($return);
// echo '<pre>';
// echo json_encode($return, JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT);
$data=json\u解码(文件\u获取\u内容('http://odnoklassniki.ru/dk?cmd=videoPlayerMetadata&mid=507252337",对),;
$return=array();
foreach($data['videos']作为$videos){
$filename=$videos['name'];
$url=$videos['url'];
$type='mp4';
$return[]=数组(
“文件”=>$url,
'type'=>$type,
'name'=>$filename,
);
}
echo json_编码($return);
//回声';
//echo json_encode($return,json_UNESCAPED_SLASHES | json_PRETTY_PRINT);
代码运行良好,但链接不行
我猜ok.ru使用了某种破解的方法,但我还需要每个url的名称。如果您意识到您已经覆盖了
$string
变量两次,对吗?好的,另一个问题。。。为什么视频url在godaddy上有效而在其他主机上无效?@VincenzoPiromalli你这是什么意思?它在另一台主机上不可访问?页面上写了什么?
<?php
$json = file_get_contents('http://odnoklassniki.ru/dk?cmd=videoPlayerMetadata&mid=507252337');
$obj = json_decode($json);
foreach($obj->videos as $video){
echo $video->name .' :: '. $video->url;
echo '<br>';
}
?>
$data = json_decode(file_get_contents('http://odnoklassniki.ru/dk?cmd=videoPlayerMetadata&mid=507252337'), true);
$return = array();
foreach($data['videos'] as $videos){
$filename = $videos['name'];
$url = $videos['url'];
$type = 'mp4';
$return[] = array(
'file' => $url,
'type' => $type,
'name' => $filename,
);
}
echo json_encode($return);
// echo '<pre>';
// echo json_encode($return, JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT);