Класс Typography
Класс Typography предоставляет методы, которые помогают форматировать текст.
Использование класса Typography
Инициализация класса
Как и большинство других классов в CodeIgniter, класс Typography инициализируется в вашем контроллере с помощью метода $this->load->library():
$this->load->library('typography');
После загрузки объект библиотеки Typography будет доступен с помощью:
$this->typography
Справочник по классу
-
class CI_Typography -
-
$protect_braced_quotes = FALSE -
При использовании библиотеки Typography в сочетании с библиотекой парсера шаблонов часто бывает желательно защитить одинарные и двойные кавычки внутри фигурных скобок. Для этого установите свойство класса
protect_braced_quotesв TRUE.Пример использования:
$this->load->library('typography'); $this->typography->protect_braced_quotes = TRUE;
-
auto_typography($str[, $reduce_linebreaks = FALSE]) -
Параметры: - $str (строка) – Входная строка
- $reduce_linebreaks (булево) – Следует ли сокращать последовательные разрывы строк
Возвращает: Строка, безопасная для типографики HTML
Тип возвращаемого значения: строка
Форматирует текст так, чтобы он был семантически и типографически корректным HTML. Принимает строку в качестве входных данных и возвращает её с следующим форматированием:
- Обертывает абзацы внутри <p></p> (ищет двойные разрывы строк для определения абзацев).
- Однострочные разрывы строк преобразуются в <br />, за исключением тех, что появляются внутри тегов <pre>.
- Элементы блочного уровня, такие как теги <div>, не обертываются абзацами, но их содержимое, если оно содержит абзацы, обертывается.
- Кавычки преобразуются в правильно ориентированные кавычки, за исключением тех, что появляются внутри тегов.
- Апострофы преобразуются в кавычки-апострофы.
- Двойные дефисы (например, – это или –это) преобразуются в em—дефисы.
- Три последовательных точки, предшествующие или следующие за словом, преобразуются в многоточие (…).
- Два пробела после предложения преобразуются в неразрывные пробелы, чтобы имитировать двойной интервал.
Пример использования:
$string = $this->typography->auto_typography($string);
Существует один необязательный параметр, который определяет, следует ли парсеру сокращать более двух последовательных разрывов строк до двух. Передайте boolean TRUE, чтобы включить сокращение разрывов строк:
$string = $this->typography->auto_typography($string, TRUE);
Примечание
Типографическое форматирование может быть ресурсоемким, особенно если у вас много контента, который требуется отформатировать. Если вы решите использовать этот метод, вы можете рассмотреть возможность кеширования ваших страниц.
-
format_characters($str) -
Параметры: - $str (строка) – Входная строка
Возвращает: Отформатированная строка
Тип возвращаемого значения: строка
Этот метод похож на
auto_typography()выше, за исключением того, что он выполняет только преобразование символов:- Кавычки преобразуются в правильно ориентированные кавычки, за исключением тех, что появляются внутри тегов.
- Апострофы преобразуются в кавычки-апострофы.
- Двойные дефисы (например, – это или –это) преобразуются в em—дефисы.
- Три последовательных точки, предшествующие или следующие за словом, преобразуются в многоточие (…).
- Два пробела после предложения преобразуются в неразрывные пробелы, чтобы имитировать двойной интервал.
Пример использования:
$string = $this->typography->format_characters($string);
-
nl2br_except_pre($str) -
Параметры: - $str (строка) – Входная строка
Возвращает: Отформатированная строка
Тип возвращаемого значения: строка
Преобразует новые строки в теги <br />, за исключением тех, которые появляются внутри тегов <pre>. Этот метод идентичен встроенной PHP-функции
nl2br(), за исключением того, что он игнорирует теги <pre>.Пример использования:
$string = $this->typography->nl2br_except_pre($string);
-
© 2014–2020 British Columbia Institute of Technology
Licensed under the MIT License.
https://codeigniter.com/userguide3/libraries/typography.html