Теперь оттипографить текст можно на своем сервере.
Слепляет короткие слова
Заменяет минус на тире
Делает «елочки»
Выносит «елочки» из ссылок
Конвертирует (с) в ©, а также ® ™ …
Иногда исправляет пробеллы у пунктуации, очень нежно, потому что легко навредить.
По умолчанию ответ выдает в чистом UTF-8 безовсяких —
Работает только в UTF-8. Сам файл библиотеки в utf и данные тоже должны быть в utf, если нужна другая кодировка используйте предварительное и пост конвертирование.
//в вашем конфиге
setlocale(LC_CTYPE ,'ru_RU'.'.UTF8');
mb_internal_encoding('UTF-8');
header('Content-Type: text/html; charset=utf-8');
include 'typo.php';
//$text - определяем текст
$text=typo($text);
//или если хотим видеть htmlentities
$text=typo($text,array('cleen_utf'=>false));
Как известно сейчас висячки делаются при помощи спанов с отрицательными маргинами. Поэтому в typo есть две функции для поддержки висячей пунктуации — post_typo, unpost_typo.
post_typo — используем сразу после typo. она расставит в нужных местах span теги и при наличии нужных правил в css стилях у вас все заработает.
unpost_typo — чистит текст перед формой, ведь спаны там видеть совсем не обязательно, удаляет только нужые span.
//CSS правила для висячей пунктуации
span.sbrace {margin-right: 0.5em}
span.hbrace {margin-left: -0.5em}
span.slaquo {margin-right: 0.44em}
span.hlaquo {margin-left: -0.44em}
span.slaquo-s {margin-right: 0.7em}
span.hlaquo-s {margin-left: -0.7em}
span.slaquo-b {margin-left: 0.85em}
span.hlaquo-b {margin-left: -0.85em}
span.sbdquo {margin-right: 0.4em}
span.hbdquo {margin-left: -0.4em}
span.sbdquo-s {margin-right: 0.35em}
span.sbdquo-s {margin-left: -0.35em}
span.squot {margin-right: 0.32em}
span.hquot {margin-left: -0.32em}
span.sowc {margin-right: 0.04em}
span.howc {margin-left: -0.04em}
span.sowcr {margin-right: 0.05em}
span.howcr {margin-left: -0.05em}
Typo применяентся во всех проектах с апреля 2007.
Например:
www.artgorbunov.ru
www.ecto.ru
www.parad-shoes.ru
www.aria.ru — только в разделах воросы-ответы
www.karaoke-esse.ru
Скачать typo (4КБ)