我正在尝试对电子书进行一些文本分析,所以我需要从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);
}
答案 0 :(得分:0)
有没有
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" />
这应该会让你知道如何避免图像。