# Typography 类

Typography 类包含多种辅助方法，用于将文本格式化为符合语义规范的形式。

## 加载类

与 CodeIgniter 的所有服务一样，Typography 类可通过 `Config\Services` 加载，不过通常无需手动操作：

    <?php

    $typography = service('typography');

## 可用静态方法

以下方法均可直接使用：

autoTypography($str[, $reduceLinebreaks = false])
  参数:

    - $str (`string`) -- 输入字符串

    - $reduceLinebreaks (`bool`) -- 是否将连续出现的多个双换行符缩减为两个

  返回:

    格式化后的 HTML 字符串

  返回类型:

    `string`

  将文本格式化为语义准确且排版规范的 HTML。

  使用示例：

      <?php

      $string = $typography->autoTypography($string);

  备注

  排版格式化操作较为耗费性能，尤其在处理大量内容时。若决定使用此函数，建议考虑对页面进行 缓存。

formatCharacters($str)
  参数:

    - $str (`string`) -- 输入字符串

  返回:

    格式化后的字符串

  返回类型:

    `string`

  主要用于将双引号和单引号转换为弯引号（curly entities），同时也会转换破折号（em-dashes）、双空格以及和号（ampersands）。

  使用示例：

      <?php

      $string = $typography->formatCharacters($string);

nl2brExceptPre($str)
  参数:

    - $str (`string`) -- 输入字符串

  返回:

    包含 HTML 换行标签的字符串

  返回类型:

    `string`

  将换行符转换为 `<br />` 标签，但会忽略 `<pre>` 标签内的换行。此函数逻辑与 PHP 原生函数 `nl2br()` 基本一致，唯一的区别是排除了 `<pre>` 标签。

  使用示例：

      <?php

      $string = $typography->nl2brExceptPre($string);