webrium/vtt-parser
Composer 安装命令:
composer require webrium/vtt-parser
包简介
Parser of vtt subtitles by php
README 文档
README
Features
- Load and parse VTT files
- Extract timestamp information
- Validate subtitle structure
- Handle malformed files with error tracking
- Lightweight and dependency-free
Installation
Composer
composer require webrium/vtt-parser
Usage
Basic Parsing
<?php use Vtt\TextParser; $parser = new TextParser(); $loaded = $parser->openFile('/path/to/files', 'subtitles.vtt'); if ($loaded) { $subtitles = $parser->parse(); foreach ($subtitles as $subtitle) { echo "Time: {$subtitle['time']['start']} - {$subtitle['time']['end']}\n"; echo "Text: " . implode("\n", $subtitle['text']) . "\n\n"; } }
Validation
$validation = $parser->textValidation(); if ($validation['ok']) { echo "VTT file is valid"; } else { echo "Found errors at lines: " . implode(', ', $validation['errors']); }
API Reference
openFile(string $file_path, string $file_name): bool
Loads a VTT file for parsing.
Parameters:
$file_path: Directory path
$file_name: Filename
Returns: true if file was successfully loaded parse(): array
Parses the loaded VTT file.
Returns: Array of subtitle blocks with structure:
[
[
'time' => [
'start' => 'HH:MM:SS',
'end' => 'HH:MM:SS'
],
'text' => [
'Subtitle line 1',
'Subtitle line 2'
]
],
// ...
]
textValidation(): array
Validates the VTT structure.
Returns: Validation result array:
[
'ok' => bool, // Overall validation status
'errors' => array // Line numbers with errors
]
Error Handling
The parser throws exceptions for:
Missing start/end timestamps (InvalidArgumentException)
File not found (when using openFile)
Always wrap calls in try-catch blocks:
try { $parser->openFile('path', 'file.vtt'); $subtitles = $parser->parse(); } catch (\InvalidArgumentException $e) { echo "Error: " . $e->getMessage(); }
Example VTT File
WEBVTT
00:00:01.000 --> 00:00:04.000
Hello world!
00:00:05.000 --> 00:00:08.000
This is a subtitle
Second line
Output Structure
[
[
'time' => [
'start' => '00:00:01',
'end' => '00:00:04'
],
'text' => ['Hello world!']
],
[
'time' => [
'start' => '00:00:05',
'end' => '00:00:08'
],
'text' => ['This is a subtitle', 'Second line']
]
]
webrium/vtt-parser 适用场景与选型建议
webrium/vtt-parser 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 21 次下载、GitHub Stars 达 0, 最近一次更新时间为 2024 年 07 月 10 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 webrium/vtt-parser 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 webrium/vtt-parser 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 21
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 17
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2024-07-10