Экспорт избранного Хабра в FB2 — скоростная PHP-версия

В своё время я уже видел такой конвертер здесь же на Хабре, написанный на питоне, но он на моей машинке сжирал много-много-много ресурсов и ни разу не смог моё избранное (а это 400+ постов) до конца сохранить, падая то на некорректном файле, то на «кривой» статье. Пришлось переписать, результаты трудов под катом.



Пример файла (вторая версия). ~150 статей, размер 22мб., в сжатом виде 14 мб. Картинки в комплекте, комментарии — нет.

Update. Пример fb2-файла. 400+ статей, общий размер ~53мб., картинки сжаты до 400 пикселей, размер архив 33.8 мб. Выше — свежая версия файла.
Update 2. Для работы скрипта на сервере должны быть включены short tags. Не актуально для новой версии скрипта.
Update 3. Скриншот скрипта в процессе выполнения:

Update 4 (27.02.2013). Обновил скрипт. Теперь не выкидываются тэги и (в последней не работает сложное форматирование, но тем не менее). Добавлено логгирование (включается в config.php). Короткие тэги заменены на длинные.
Update 5 (27.02.2013). Обновил скрипт. Теперь он поддерживает сохранение комментариев, подробности - чуть ниже, тут.
Update 6 (28.02.2013). Обновление скрипта. Теперь файл более корректен (с токи зрения XML). Правда, FBreader на всех платформах его не принимает, так же как и одна из аппаратных книг, но большинство читалок файл всё-таки одолеет. Заменен демонстрационный файл.
Update 7 (28.02.2013). Обновил скрипт. По совету в комментариях - добавил возможность включить скачивание картинок параллельно, в несколько потоков.
@Newbilius
26.02.2013 14:56 UTC
Первоисточник