我如何分割文本像1小时9分钟转换它像mm:s像69分钟


How can i split text like 1h 9 min to convert it like mm:ss like 69:00

所以我有一种从其他网站抓取视频的脚本,它使用simple_html_dom。

所以基本上我抓取页面,然后我从视频中提取我需要的数据。我不是偷视频,只是想比手动嵌入视频快。

作为网页的一部分有一个代码,比如

<div class="videoTime">
    This is some video title
    <span> - 1h 9 min </span>
</div>

所以我设法从a中提取文本所以我在末尾得到这个

- 1h 9 min

但是我找不到把这个转换成分钟和秒的方法,所以我可以把它显示在我的网站上,比如69

是否有办法做到这一点?

preg_match和/或preg_replace的一些方法,但我不是很熟悉它们?

这应该适用于您的初始示例:

<?php
    preg_match ( '/[ '-]*([0-9]+)h[ ]*([0-9]+)[ ]*min/', $test, $matches );
    $hours = $matches[1];
    $minutes = $matches[2];
    echo $hours*60 + $minutes;
?>

**我不能完善我的正则表达式,但这个逻辑工作,如果你离开小时输入:

if(strpos($test, 'h') === FALSE) {
    $pattern = '/[ '-]*([0-9]+)[ ]*min/';
    preg_match ( $pattern, $test, $matches );
    $hours = 0;
    $minutes = $matches[1];
} else {
    $pattern = '/[ '-]*([0-9]+)h[ ]*([0-9]+)[ ]*min/';
    preg_match ( $pattern, $test, $matches );
    $hours = $matches[1];
    $minutes = $matches[2];
}
echo $hours*60 + $minutes;**