Skip to content
/ bgFB2 Public

PHP класс bgFB2 преобразует HTML строку в файл Fiction Book (fb2)

Notifications You must be signed in to change notification settings

VBog/bgFB2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Класс bgFB2

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 в случае ошибки.

About

PHP класс bgFB2 преобразует HTML строку в файл Fiction Book (fb2)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages