Typography

The Typography library contains methods that help you format text in semantically relevant ways.

Loading the Library

Like all services in CodeIgniter, it can be loaded via Config\Services, though you usually will not need to load it manually:

$typography = \Config\Services::typography();

Available static functions

The following functions are available:

autoTypography()

autoTypography($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.

Usage example:

$string = $typography->autoTypography($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.

formatCharacters()

formatCharacters($str)
Parameters:
  • $str (string) – Input string
Returns:

String with formatted characters.

Return type:

string

This function mainly converts double and single quotes to curly entities, but it also converts em-dashes, double spaces, and ampersands.

Usage example:

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

nl2brExceptPre()

nl2brExceptPre($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 = $typography->nl2brExceptPre($string);