タイポグラフィーヘルパ
タイポグラフィーヘルパのファイルは、テキストをセマンティックな方法で整形するのに役立つ関数で構成されています。
ヘルパのロード
このヘルパは次のコードを使ってロードします:
$this->load->helper('typography');
次の関数が利用できます:
auto_typography()
意味論的にも文の体裁を整える面でも正しいHTMLにテキストをフォーマットします。文字列を入力とし、次のようにフォーマットして返します:
- 段落を<p></p> で囲みます。 (改行2個を段落として識別するために探します)
- <pre>タグの中の場合を除いて、単一の改行を<br />に変換します。
- 段落の中に含まれないけれども、<div>タグのようなブロックレベル要素に含まれるテキストついて、そのテキストを段落に含まれるようにします [ 訳注: たとえば、<div>タグの中のテキストを<p>タグで囲みます]。
- タグの中で使用されない引用符は、引用符をあらわすHTMLエンティティに変換されます[ 訳注: " を "に変換します ]。
- アポストロフィは、アポストロフィをあらわすHTMLエンティティに変換されます[ 訳注: ’ を ’ に変換します ]。
- ダブルダッシュ (--) が強調をあらわす「 — 」のダッシュに変換されます。
- 単語の前後にある3つの連続したピリオドは、省略(…) に変換されます。
- 文に続く2重のスペースは、2重スペースに見せかけるため、改行なしスペースに変換されます。
使用例:
$string = auto_typography($string);
Note: 特に、フォーマットしようとする大量のコンテンツがある場合、文の体裁を整える処理は負荷が高くなります。この関数を使うようにした場合は、ページをキャッシュするのを検討する必要があるかもしれません。
nl2br_except_pre()
タグの中でない場合は、新しい行を<br />タグに変換します。この関数は <pre>タグを無視しないという点を除いて、PHPに組み込みのnl2br() が関数と同じものです。
使用例:
$string = nl2br_except_pre($string);