【问题标题】:Extract only text from ePub仅从 ePub 中提取文本
【发布时间】:2013-09-14 14:53:34
【问题描述】:

我正在尝试对电子书进行一些文本分析,因此我需要从 epub 文件中提取纯文本。下面是来自 php.net 的示例代码,它解压缩 epub 然后回显其所有内容。

我的问题是它也尝试回显图像,所以我得到很多这样的:��̹,{ϥ㓦,�[k�رO?��� 被回显。理想情况下,它只会给我超级基本的纯文本。关于如何跳过回显$zip_entry 这是一个图像(或任何非文本)的任何想法?

谢谢!

$zip = zip_open("book.epub");

if ($zip) {
    while ($zip_entry = zip_read($zip)) {
        echo "Name:               " . zip_entry_name($zip_entry) . "\n";
        echo "Actual Filesize:    " . zip_entry_filesize($zip_entry) . "\n";
        echo "Compressed Size:    " . zip_entry_compressedsize($zip_entry) . "\n";
        echo "Compression Method: " . zip_entry_compressionmethod($zip_entry) . "\n";

        if (zip_entry_open($zip, $zip_entry, "r")) {
            echo "File Contents:\n";
            $buf = zip_entry_read($zip_entry, zip_entry_filesize($zip_entry));
            echo "$buf\n";

            zip_entry_close($zip_entry);
        }
        echo "\n";

    }

    zip_close($zip);

}

【问题讨论】:

    标签: php html zip epub


    【解决方案1】:

    有没有

    content.opf
    

    解压后的 epub 根目录下的文件?如果是这样检查它的内容。您应该会看到如下内容:

    <item id="chapter19" href="zzzzzzz.xhtml" media-type="application/xhtml+xml" />
    <item id="image1" href="images/yyyyy.jpg" media-type="image/jpeg" />
    

    这应该让您知道如何避免图像。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-07-10
      • 1970-01-01
      • 2016-10-27
      • 2011-08-16
      • 1970-01-01
      • 1970-01-01
      • 2012-06-03
      • 1970-01-01
      相关资源
      最近更新 更多