# Typography Helper

The Typography Helper file contains functions that help your format text in semantically relevant ways.

- Loading this Helper
- Available Functions

## Loading this Helper

This helper is loaded using the following code:

    $this->load->helper('typography');

## Available Functions

The following functions are available:

`auto_typography`($str[, $reduce_linebreaks = FALSE])

  Parameters:

  - $str (string) – Input string
  - $reduce_linebreaks (bool) – Whether to reduce multiple instances of double newlines to two

  Returns: | HTML-formatted typography-safe string
  Return type: | string

  Formats text so that it is semantically and typographically correct HTML.

  This function is an alias for `CI_Typography::auto_typography()`. For more info, please see the Typography Library documentation.

  Usage example:

      $string = auto_typography($string);

  Note

  Typographic formatting can be processor intensive, particularly if you have a lot of content being formatted. If you choose to use this function you may want to consider caching your pages.

`nl2br_except_pre`($str)

  Parameters:

  - $str (string) – Input string

  Returns: | String with HTML-formatted line breaks
  Return type: | string

  Converts newlines to <br /> tags unless they appear within <pre> tags. This function is identical to the native PHP `nl2br()` function, except that it ignores <pre> tags.

  Usage example:

      $string = nl2br_except_pre($string);

`entity_decode`($str, $charset = NULL)

  Parameters:

  - $str (string) – Input string
  - $charset (string) – Character set

  Returns: | String with decoded HTML entities
  Return type: | string

  This function is an alias for `CI_Security::entity_decode()`. Fore more info, please see the Security Library documentation.