benlipp / srt-parser
轻松解析SRT字幕文件
v1.1.1
2017-06-23 23:28 UTC
Requires
- php: >=7.0
Requires (Dev)
- phpunit/phpunit: 6.0.*
This package is not auto-updated.
Last update: 2024-09-15 04:06:46 UTC
README
一个用于解析SRT文件的PHP库。
由Ben Lippincott为LiveTech构建
安装/要求
运行composer require "benlipp/srt-parser"
,让Composer完成工作。
PHP 7+是必须的!这不是业余时间。
使用方法
导入Parser
类:use Benlipp\SrtParser\Parser;
使用它
$parser = new Parser();
$parser->loadFile('/path/to/srtfile.srt');
$captions = $parser->parse();
或
$parser = new Parser();
$parser->loadString($formatted_caption_input);
$captions = $parser->parse();
parse()
返回一个字幕数组。可以这样使用它们
foreach($captions as $caption){
echo "Start Time: " . $caption->startTime;
echo "End Time: " . $caption->endTime;
echo "Text: " . $caption->text;
}
如果你更喜欢,字幕可以返回为数组而不是对象。数组是snake_case
,以兼容Laravel的属性。
foreach($captions as $caption){
$caption = $caption->toArray();
echo "Start Time: " . $caption['start_time'];
echo "End Time: " . $caption['end_time'];
echo "Text: " . $caption['text'];
}
在Laravel中使用模型
$url = "https://youtu.be/dQw4w9WgXcQ";
$video = new Video($url);
foreach ($captions as $caption) {
$data = new VideoMetadata($caption->toArray());
$video->videoMetadata()->save($data);
}
你还可以链式调用parse()
方法
$parser = new Parser();
$captions = $parser->loadFile($srtPath)->parse();
贡献
请运行PHPUnit对您的更改进行测试。如果您添加了新功能,请为该功能添加测试。