Класс Typography (оформление текста)
Класс Typography предоставляет фунции, которые помогут вам отформатировать текст.
Инициализация класса
Как и большинство других классов, вы можете инициализировать класс в вашем контроллере, используя функцию $this->load->library:
$this->load->library('typography');
Загруженный класс Typography будет доступен, как $this->typography
auto_typography()
Форматирует текст, как семантически и типографически корректный HTML. Принимает строку на вход, и возвращает ее отформатированной:
- Обрамляет абзацы тегами <p></p> (ищет двойные символы окончания строк для идентификации абзацев).
- Одиночные разрывы строк конвертируются в <br />, за исключением того, что обрамлено тегами <pre>.
- Блокирует уровневые элементы, вроде <div> , которые не вписываются без параметров, но содержат текст, как абзацы.
- Кавычки конвертируются в корректно отображаемые сущности, за исключением тех, что находятся в тегах.
- Апострофы конвертируются в "завитушки".
- Двойные тире (вроде -- или --this) превращаются в длинные тире em—.
- Три последовательных точки превращаются в символ многоточия …
- Двойные пробелы преобразуются в неразрывные пробелы, для имитации двойных интервалов.
Пример использования:
$string = $this->typography->auto_typography($string);
Параметры
Здесь всего один опциональный параметр, который определяет, должен ли парсер уменьшать большие разрывы строк до двух. Используйте TRUE или FALSE.
По умолчанию парсер не будет уменьшать разрывы. В других словах, если параметр не передан, происходит то же, что и в случае:
$string = $this->typography->auto_typography($string, FALSE);
Примечание: Процедура форматирования интенсивно использует процессор, особенно, если вы форматируете большой текст. Если вы выбрали эту функцию, возможно, вы захотите использовать кеширование ваших страниц.
Прим. пер.: используйте форматирование при сохранении текста, а не при чтении. Чтение используется намного чаще, чем запись. Намного!format_characters()
Эта функция аналогична функции auto_typography, описанной выше, за исключением того, что оно применяет только символьную замену:
- Кавычки конвертируются в корректные "завитушки", за исключением тех, что находятся в тегах.
- Апострофы конвертируются в корректные "завитушки".
- Двойные тире конвертируются в длинные тире em—.
- Три последовательных точки после слова конвертируются в многоточие …
- Двойные пробелы преобразуются в неразрывные пробелы, для имитации двойных интервалов.
Пример использования:
$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 Parser, зачастую может быть желательно защищать одиночные и двойные кавычки в фигурные скобки. Для того, чтобы включить это, установите свойство класса protect_braced_quotes в TRUE.
Пример использования:
$this->load->library('typography');
$this->typography->protect_braced_quotes = TRUE;