0

私は字幕ファイル (srt 形式) を解析しています。ここにダイアログ行の例を示します。

27
00:01:32,400 --> 00:01:34,300
Maybe they came back
for Chinese food.

時代は形式で来る

hours:minutes:seconds,milliseconds

これらの時間を操作して比較したいのですが、私が遭遇したさまざまな PHP クラスはミリ秒をサポートしていないようです。


私の問題:

私がやりたいことの 1 つは、同じメディア (同じ映画、同じテレビ エピソードなど) の 2 つの字幕ファイルを解析し、同じセリフの各字幕ファイルのテキストを比較することです。問題は、同じ行の開始時刻と終了時刻が数百ミリ秒わずかにずれることです。たとえば、上の行を例にとると、別の字幕ファイルでは、同じ行の時間は次のようになります。

00:01:32,320 --> 00:01:34,160

ダイアログの同じ行の両方のファイルのバージョンを取得するには、ファイル 1 の開始時間と終了時間の数百ミリ秒以内にある行がファイル 2 にあるかどうかを確認し、それをキャッチする必要があります。そんな感じ。そのため、ミリ秒を追加して時間を操作し、それらの時間の比較も行う必要があります。

4

2 に答える 2

0

strtotimeを試しましたか?

if (strtotime($date1) > strtotime($date2)) { # date1 is after date2
    # do work here
} 
if (strtotime($date1) < strtotime($date2)) { #date2 is after date1
    # do other work here
}
于 2013-06-13T14:26:25.903 に答える