PHP library for reading metadata, document structure, and plain text contents from EPUB files.
This PHP EPUB library is a fo 6936 rk of splitbrain/php-epub-meta. The original code was changed quite a bit to fit our more conventional PHP coding standards in a symfony environment. Additional functionality includes reading the TOC/spine structure of EPUBs and extracting contents from contained XML files.
Using composer:
composer require hans-thomas/epub
<?php
// Open an EPUB file
$epub = new Epubli\Epub\Epub('/path/to/your/book.epub');
// and read some of its metadata
$title = $epub->getTitle();
$authors = $epub->getAuthors();
$desc = $epub->getDescription();
// Get the EPUB’s structural elements
$toc = $epub->getToc();
$spine = $epub->getSpine();
// Iterate over the EPUB structure
foreach ($spine as $spineItem) {
// Get some text from the EPUB
$chapterText = $spineItem->getContents();
// Or find all navigation points pointing to that spine item
$navPoints = $toc->findNavPointsForFile($spineItem->getHref());
// Do something useful with the NavPoints.
// At the end, don't forget to close the spine item
$spineItem->close();
}