Like this?
preg_match('#PT(?<h>\d+H)?(?<m>\d+M)?(?<s>\d+S)?#i', $json['contentDetails']['duration'], $duration);
$duration['s'] = preg_replace('/[^0-9]/', '', $duration['s']);
$duration['m'] = preg_replace('/[^0-9]/', '', $duration['m']);
$duration['h'] =...