Получите помощь, поддержку и профессиональное общение в Клубе CodeIgniter

# CodeIgniter User Guide Version 2.1.0

Search User Guide

# Класс типографики (Typography Class)

Класс типографики предоставляет функции, которые помогают вам форматировать текст.

## Инициализация класса

Как и большинство других классов в CodeIgniter, класс типографики инициализируется в вашем контроллере посредством функции $this->load->library:

`$this->load->library('typography');`

Загруженный класс библиотеки Typography доступен как $this->typography

## auto_typography()

Форматирует текст в семантически и типографически корректный HTML. Принимает строку на вход и возвращает ее со следующим форматированием:

- Окружает абзацы тегами <p></p> (ищет двойные переносы строк для идентификации параграфов).
- Одиночные переносы строк конвертируются в <br />, за исключением тех, которые находятся внутри тегов <pre>.
- Блочные элементы, такие как <div>, не вписываются внутрь абзацев, но текст, содержащийся в них, обрамляется в абзацы.
- Кавычки конвертируются в корректные сущности, за исключением тех, которые находятся внутри тегов.
- Апострофы конвертируются в сущности.
- Двойные дефисы (вроде -- или--таких) конвертируются в em—тире.
- Три стоящих подряд точки, перед словом или сразу после него конвертируются в многоточие…
- Двойные пробелы конвертируются в непрерывные пробелы.

Пример использования:

`$string = $this->typography->auto_typography($string);`

### Параметры

Есть один опциональный параметр, который определяет, должен ли парсер конвертировать множество переносов строк в один. Используйте булево `TRUE` или `FALSE`.

По умолчанию парсер не сокращает переносы. Другими словами, если параметр не передан, получается что-то вроде этого:

`$string = $this->typography->auto_typography($string, `FALSE`);`

Примечание: Форматирование текста может интенсивно использовать процессор, в частности если вы имеете большое количество контента, который нужно форматировать. Используйте эту функцию при сохранении текста в базу данных, и изучите страницу про кеширование ваших страниц.

## format_characters()

Эта функция соответствует функции auto_typography, описанной выше, за исключением того, что она выполняет только символьные преобразования:

- Кавычки конвертируются в корректные сущности, исключая те, которые находятся внутри описания тегов.
- Апострофы конвертируются в сущности.
- Двойные дефисы конвертируются в — тире.
- Три точки подряд до или после слова конвертируются в многоточия…
- Двойные пробелы, следующие за предложениями, конвертируются в неразрывные пробелы.

Пример использования:

`$string = $this->typography->format_characters($string);`

## nl2br_except_pre()

Конвертирует новые строки в теги <br />, за исключением содержимого в тегах <pre>. Эта функция идентична родной функции PHP nl2br(), за исключением того, что она игнорирует теги <pre>.

Пример использования:

`$string = $this->typography->nl2br_except_pre($string);`

## protect_braced_quotes

При использовании класса Typography в сочетании с библиотекой парсера шаблонов Template часто может быть полезно заменять одиночные и двойные кавычки в сущности. Чтобы включить это, установите свойство класса `protect_braced_quotes` в `TRUE`.

Пример использования:

`$this->load->library('typography');
$this->typography->protect_braced_quotes = TRUE;`

### Поделиться

Переведено в компании Аринт.

# Спасибо!

Вы тоже можете оказать помощь проекту! Как это сделать?

## Помощь и поддержка

Вы можете задать вопросы и получить ответы и советы от гуру CodeIgniter и веб-разработки: вступайте в Клуб CodeIgniter