Php Youtube API v3-获取持续时间
通过使用Youtube API v3,我得到了以下信息中的duarionPhp Youtube API v3-获取持续时间,php,youtube-api,youtube-data-api,Php,Youtube Api,Youtube Data Api,通过使用Youtube API v3,我得到了以下信息中的duarion PT3H32M50S 我想把它转换成03:32:50格式 请注意:如果视频不是一小时长,我将获得PT32M50S。在这种情况下,我应该得到00:32:50 请指导我找到最好的解决方案。使用str\u replace非常简单易用的解决方案 echo str_ireplace(array('PT', 'H', 'M', 'S'), array('0',':',':',''), 'PT3H32M50S'); 试试这个 功能
PT3H32M50S
我想把它转换成03:32:50格式
请注意:如果视频不是一小时长,我将获得PT32M50S。在这种情况下,我应该得到00:32:50
请指导我找到最好的解决方案。使用
str\u replace
非常简单易用的解决方案
echo str_ireplace(array('PT', 'H', 'M', 'S'), array('0',':',':',''), 'PT3H32M50S');
试试这个
功能YouTube时间($yStr){
$s=$m=$h='00';
preg_match_all(“/(\d+)/”,$yStr,$parts);
如果(!空($parts)){
$ts=数组_pop($parts[0]);
$s=($ts我得到了下面的解决方案,它适用于我所有可能的场景
$duration = str_ireplace(array('PT', 'H', 'M', 'S'), array('',':',':',''),
$youtubeArrData->items[0]->contentDetails->duration);
if(substr_count($duration, ':') == 0){
$duration = "00:00:".$duration;
}
if(substr_count($duration, ':') == 1){
$duration = "00:".$duration;
}
$video_Length = date("H:i:s.u", strtotime($duration));
希望这对每个人都有效。最终输出类似于“3:32:50”。我希望它类似于“03:32:50”
function youtubeTime($yStr){
$s=$m=$h='00';
preg_match_all('/(\d+)/',$yStr,$parts);
if(!empty($parts)){
$ts=array_pop($parts[0]);
$s = ($ts<10)? '0'.(int)$ts : $ts;
$ms=array_pop($parts[0]);
$m = ($ms<10)? '0'.(int)$ms : $ms;
$hs=array_pop($parts[0]);
$h = ($hs<10)? '0'.(int)$hs : $hs;
}
return $h.':'.$m.':'.$s;
}
$duration = str_ireplace(array('PT', 'H', 'M', 'S'), array('',':',':',''),
$youtubeArrData->items[0]->contentDetails->duration);
if(substr_count($duration, ':') == 0){
$duration = "00:00:".$duration;
}
if(substr_count($duration, ':') == 1){
$duration = "00:".$duration;
}
$video_Length = date("H:i:s.u", strtotime($duration));