PHPackages                             vladwork555/srt-parser - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Parsing &amp; Serialization](/categories/parsing)
4. /
5. vladwork555/srt-parser

ActiveProject[Parsing &amp; Serialization](/categories/parsing)

vladwork555/srt-parser
======================

Easily Parse SRT Subtitle Files

v1.1.2(5y ago)15352[1 PRs](https://github.com/vladwork555/srt-parser/pulls)PHPPHP &gt;=7.0CI failing

Since Mar 29Pushed 5y ago1 watchersCompare

[ Source](https://github.com/vladwork555/srt-parser)[ Packagist](https://packagist.org/packages/vladwork555/srt-parser)[ RSS](/packages/vladwork555-srt-parser/feed)WikiDiscussions master Synced 5d ago

READMEChangelog (1)Dependencies (1)Versions (8)Used By (0)

SRT Parser
==========

[](#srt-parser)

[![Build Status](https://camo.githubusercontent.com/b161d6ac31a832d3ae50356cd11c564c58695140b751eaa5bed145cad94443be/68747470733a2f2f7472617669732d63692e6f72672f62656e6c6970702f7372742d7061727365722e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/benlipp/srt-parser)

A PHP library to parse SRT files.
Built by Ben Lippincott for [LiveTech](http://www.liveteched.com/)

Installation / Requirements
---------------------------

[](#installation--requirements)

Run `composer require "vladwork555/srt-parser"`and let Composer do the work.

PHP 7+ is **REQUIRED**! This isn't amateur hour.

Usage
-----

[](#usage)

Import the `Parser` class: `use Benlipp\SrtParser\Parser;`

Use it:

```
$parser = new Parser();

$parser->loadFile('/path/to/srtfile.srt');

$captions = $parser->parse();

```

or

```
$parser = new Parser();

$parser->loadString($formatted_caption_input);

$captions = $parser->parse();

```

`parse()` returns an array of captions. Use them like so:

```
foreach($captions as $caption){
    echo "Start Time: " . $caption->startTime;
    echo "End Time: " . $caption->endTime;
    echo "Text: " . $caption->text;
}

```

A caption can be returned as an array instead of an object, if you prefer. The array is `snake_case` for compatibility with Laravel's attributes.

```
foreach($captions as $caption){
    $caption = $caption->toArray();
    echo "Start Time: " . $caption['start_time'];
    echo "End Time: " . $caption['end_time'];
    echo "Text: " . $caption['text'];
}

```

For Laravel usage with a model:

```
$url = "https://youtu.be/dQw4w9WgXcQ";
$video = new Video($url);
foreach ($captions as $caption) {
    $data = new VideoMetadata($caption->toArray());
    $video->videoMetadata()->save($data);
}

```

You can also chain the `parse()` method:

```
$parser = new Parser();
$captions = $parser->loadFile($srtPath)->parse();

```

Contributing
------------

[](#contributing)

Run PHPUnit on your changes, pretty please. If you add a new feature, add tests for that feature.

###  Health Score

31

—

LowBetter than 68% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity16

Limited adoption so far

Community12

Small or concentrated contributor base

Maturity63

Established project with proven stability

 Bus Factor1

Top contributor holds 86.5% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~249 days

Recently: every ~311 days

Total

6

Last Release

2088d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/6531fb9c91cb5c52db647b7f3f161547c03c5a067f601affcd2992121bfc17fc?d=identicon)[vladwork555](/maintainers/vladwork555)

---

Top Contributors

[![benlipp](https://avatars.githubusercontent.com/u/6061365?v=4)](https://github.com/benlipp "benlipp (32 commits)")[![vladwork555](https://avatars.githubusercontent.com/u/51487177?v=4)](https://github.com/vladwork555 "vladwork555 (4 commits)")[![mtbksouth](https://avatars.githubusercontent.com/u/947497?v=4)](https://github.com/mtbksouth "mtbksouth (1 commits)")

---

Tags

parsersubtitlessrt

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/vladwork555-srt-parser/health.svg)

```
[![Health](https://phpackages.com/badges/vladwork555-srt-parser/health.svg)](https://phpackages.com/packages/vladwork555-srt-parser)
```

###  Alternatives

[nikic/php-parser

A PHP parser written in PHP

17.4k902.6M1.8k](/packages/nikic-php-parser)[doctrine/lexer

PHP Doctrine Lexer parser library that can be used in Top-Down, Recursive Descent Parsers.

11.2k910.8M118](/packages/doctrine-lexer)[erusev/parsedown

Parser for Markdown.

15.0k151.8M732](/packages/erusev-parsedown)[league/commonmark

Highly-extensible PHP Markdown parser which fully supports the CommonMark spec and GitHub-Flavored Markdown (GFM)

2.9k404.0M702](/packages/league-commonmark)[masterminds/html5

An HTML5 parser and serializer.

1.8k242.8M229](/packages/masterminds-html5)[sabberworm/php-css-parser

Parser for CSS Files written in PHP

1.8k191.2M65](/packages/sabberworm-php-css-parser)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
