如何从 unicode 字幕中提取文本?

我有一个格式如下的 unicode 字幕文件:


3

00:01:40,200 --> 00:01:43,326

english part


4

00:01:43,534 --> 00:01:44,851

خط فارسی


5

00:01:45,063 --> 00:01:48,485

complex part مخلوط


6

00:01:45,063 --> 00:01:48,485

complex part مخلوط

in 2 lines

如何提取数字作为键和文本作为值


[

   [3] => english part

   [4] => خط فارسی

   [5] => complex part مخلوط

   [6] => complex part مخلوط</br>in 2 lines

]


跃然一笑
浏览 224回答 1
1回答

拉风的咖菲猫

不要将找到的数字用作索引。更好地使用正在进行的索引和键/值对。也就是说,您可以选择(启用multiline和verbose,m和x):^(\d+)\R[->\d: ,]+\R((?:.+\R?)+)在 regex101.com 上查看演示。在PHP这可能是<?php$text = <<<END300:01:40,200 --> 00:01:43,326english part400:01:43,534 --> 00:01:44,851خط فارسی500:01:45,063 --> 00:01:48,485complex part مخلوط600:01:45,063 --> 00:01:48,485complex part مخلوطin 2 linesEND;$regex = <<<END~&nbsp; &nbsp; ^(?P<line>\d+)\R&nbsp; &nbsp; [->\d: ,]+\R&nbsp; &nbsp; (?P<content>(?:.+\R?)+)~mxEND;preg_match_all($regex, $text, $matches);print_r($matches);?>在 ideone.com 上查看另一个演示。
打开App,查看更多内容
随时随地看视频慕课网APP