+ +
+

Typography Class

+

The Typography Class provides methods that help you format text.

+ +
+

Using the Typography Class

+
+

Initializing the Class

+

Like most other classes in CodeIgniter, the Typography class is +initialized in your controller using the $this->load->library() method:

+
$this->load->library('typography');
+
+
+

Once loaded, the Typography library object will be available using:

+
$this->typography
+
+
+
+
+
+

Class Reference

+
+
+class CI_Typography
+
+
+$protect_braced_quotes = FALSE
+

When using the Typography library in conjunction with the Template Parser library +it can often be desirable to protect single and double quotes within curly braces. +To enable this, set the protect_braced_quotes class property to TRUE.

+

Usage example:

+
$this->load->library('typography');
+$this->typography->protect_braced_quotes = TRUE;
+
+
+
+ +
+
+auto_typography($str[, $reduce_linebreaks = FALSE])
+
+++ + + + + + + + +
Parameters:
    +
  • $str (string) – Input string
  • +
  • $reduce_linebreaks (bool) – Whether to reduce consequitive linebreaks
  • +
+
Returns:

HTML typography-safe string

+
Return type:

string

+
+

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 apostrophe 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 = $this->typography->auto_typography($string);
+
+
+

There is one optional parameter that determines whether the parser should reduce more than two consecutive line breaks down to two. +Pass boolean TRUE to enable reducing line breaks:

+
$string = $this->typography->auto_typography($string, TRUE);
+
+
+
+

Note

+

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

+
+
+ +
+
+format_characters($str)
+
+++ + + + + + + + +
Parameters:
    +
  • $str (string) – Input string
  • +
+
Returns:

Formatted string

+
Return type:

string

+
+

This method is similar to auto_typography() above, except that it only does character conversion:

+
+
    +
  • Quotes are converted to correctly facing curly quote entities, except those that appear within tags.
  • +
  • Apostrophes are converted to curly apostrophe 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 = $this->typography->format_characters($string);
+
+
+
+ +
+
+nl2br_except_pre($str)
+
+++ + + + + + + + +
Parameters:
    +
  • $str (string) – Input string
  • +
+
Returns:

Formatted string

+
Return type:

string

+
+

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

+

Usage example:

+
$string = $this->typography->nl2br_except_pre($string);
+
+
+
+ +
+ +
+
+ + +