从页面源获取YouTube视频的长度


Get length of YouTube video from page source?

我注意到每个YouTube视频在页面源代码中都有以下内容:

<meta itemprop="duration" content="PT2M22S">

如何获取持续时间并将其转换为秒?

持续时间似乎根据 ISO 8601 持续时间进行格式化,因此您可以在此处利用DateInterval

$p = new DateInterval('PT2M22S');
echo $p->i * 60 + $p->s; // 142

以上不包括小时数,您也可以使用 $p->h * 3600 添加。