asleepwalker/typographie

Preparation of russian texts before web publication.

1.4.0 2017-02-01 16:09 UTC

This package is not auto-updated.

Last update: 2024-04-13 14:50:27 UTC


README

#Typographie.php Build Status Dependency Status

Library for preparation of russian texts to web publication.
Core of Typographie web service.

Installation

Add package to the composer.json:

composer require asleepwalker/typographie

Run Composer:

composer install

Example

<?php

use asleepwalker\typographie\Typographie;

$engine = new Typographie('quotes,inquot,dashes,specials,paragraphs');

$raw = 'Сервис "Typographie" - подготовка текстов к веб-публикации онлайн (с) 2014-2017';
echo $engine->process($raw);
// > Сервис «Typographie» — подготовка текстов к веб-публикации онлайн © 2014–2017

Actions

quotes : Correction of quotes: "" becomes «».
inquot (requires quotes) : Nested quotes: «„“» (otherwise — duplicate quotes stashing).
dashes : If necessary replace hyphens with dashes and minus signs.
angles : Replace asterisks and quotes with degrees, feet, inches.
dblspace : Fix duplicate spaces in the text.
specials : Insert special characters (from the symbol table).
mathchars : Insert mathematical symbols (from the same table).
punctuation : Fix punctuation, such as spaces before commas.
specialspaces : Fix the wrong skip special characters with spaces.
nbsp : Attach short words to following words in the text.
hellip : Replace repeating dot symbols with ellipsis.
paragraphs : Puts paragraphs (<p>) when converting to HTML (with empty string as a delimeter).
safehtml : Don't process text inside of <code> and <pre> blocks.
entities : Replace special chars with HTML entities.

The list should be comma separated, e.g. action1,action2,action3.

Beside defining in the object constructor, use can change configuration by method actions:

$engine->actions('punctuation,dblspace');
echo $engine->process('К  чёрту орфографию ,главное   все понимают !Ведь так  ?..');
// > К чёрту орфографию, главное все понимают! Ведь так?..

Modes

plain : Just plain text.
html : Safe HTML processing.

The mode could be defined in the constructor:

$engine = new Typographie('quotes,dashes', $in, $out);

Or by method mode:

$engine->mode('html', 'plain');

Default congifuration is plain mode for both input and output.

License

The MIT License.