benlipp/srt-parser

轻松解析SRT字幕文件

安装次数: 58,896

依赖项: 0

建议者: 0

安全性: 0

星标: 21

关注者: 3

分支: 12

开放问题: 4

类型:项目

v1.1.1 2017-06-23 23:28 UTC

This package is not auto-updated.

Last update: 2024-09-15 04:06:46 UTC


README

Build Status

一个用于解析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对您的更改进行测试。如果您添加了新功能,请为该功能添加测试。