PHP класс bgFB2 преобразует HTML строку в файл Fiction Book (fb2). Для работы требуется класс BgClearHTML.
public function prepare ( (string) $content, (array) $options )
Параметры:
$content
- строка, содержащая HTML-разметку;
$options [ $key => $value ]
- массив параметров настройки,
`$opt = array(
"title"=> '<Название книги>',
"author"=> '<Имя автора: Фамилия Имя>',
"genre"=> '<Жанр (строго из списка)>',
"lang"=> '<Код языка книги по ISO 639-1>',
"version"=> '<Номер версии>',
"cover"=> '<Ссылка на изображение обложки книги (.jpg или .png)>',
"publisher"=> '<Информация об издателе>',
"css"=> '<Пользовательская таблица стилей CSS для оформления книги>',
"allow_p"=> 'on' < - разрешить абзацы в ячейках таблиц>
);`
Возвращает текст в формате fb2.
Заголовки h1...h3 преобразуются в разделы секции (< section >
) соответствующего уровня и будут отображаться в ридере как части, главы и разделы.
Большинство ридеров строит оглавление книги используя соответствующие уровни вложения секций.
Заголовки h4...h6 преобразуются подзаголовки (< subtitle >
).
Вы можете легко изменить это правило, внеся соответствующие изменения в код скрипта.
Формат fb2 поддерживает внешние (вне абзацев) и встроенные (внутри абзацев) рисунки, тот или иной вид отображения рисунка имеет свои преимущества и ограничения.
В представленной версии скрипта html-теги < img >
преобразуются в встроенные рисунки, если вы захотите полить внешние изображения, достаточно снять комментарий с соответствующей строки в коде.
Несмотря на то, что формат fb2 работает только с рисунками форматов jpg и png, скрипт успешно обработает и формат gif, преобразовав его в png.
В fb2 не поддерживаются якори в тегах < a >
, поэтому их атрибут name преобразуются в атрибут id и переносится в тег абзаца, в котором тег < a >
находился.
Следует именть ввиду, что если в вашем html активно используются теги атрибуты тегов id, то в результате такого переноса может произойти конфликт, когда одному и тому же тегу абзаца будет сделана попытка присвоить несколько атрибутов id.
public function save ( (string) $file, (string) $content)
Синоним file_put_contents()
:
`public function save ($file, $content) {
$put = file_put_contents($file, $content);
return $put;
}`
Возвращает количество записанных байт в файл, или FALSE в случае ошибки.