F-engine

Typography Helper

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

Loading this Helper

This helper is loaded using the following code:

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

The following functions are available:

auto_typography()

Formats text so that it is semantically and typographically correct HTML. Takes a string as input and returns it with the following formatting:

  • Surrounds paragraphs within <p></p> (looks for double line breaks to identify paragraphs).
  • Single line breaks are converted to <br />, except those that appear within <pre> tags.
  • Block level elements, like <div> tags, are not wrapped within paragraphs, but their contained text is if it contains paragraphs.
  • Quotes are converted to correctly facing curly quote entities, except those that appear within tags.
  • Apostrophes are converted to curly apostrophy entities.
  • Double dashes (either like -- this or like--this) are converted to em—dashes.
  • Three consecutive periods either preceding or following a word are converted to ellipsis…
  • Double spaces following sentences are converted to non-breaking spaces to mimic double spacing.

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()

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);