# CodeIgniter ユーザガイド 日本語版 Version 2.0.3

ユーザガイドを検索

# テキストヘルパー

テキストヘルパーのファイルは、テキストを処理するのに役立つ関数で構成されています。

## ヘルパーのロード

このヘルパーは次のコードを使ってロードします:

`$this->load->helper('text');`

次の関数が利用できます:

## word_limiter()

指定した単語数の位置で、文字列を切り取ります [ 訳注: 英語のように単語の間がスペースで区切られている言語でだけ有効です。日本語では通常、正常に動作しません ]。例:

`$string = "Here is a nice text string consisting of eleven words.";
$string = word_limiter($string, 4);
// 戻り値: Here is a nice…`

第3引数はオプションで、文字列に付加するサフィックスを指定します。デフォルトでは、省略記号(...) が付加されます。

## character_limiter()

指定した文字数の位置で文字列を切り取ります。 単語の途中で切り取られないようになっていますので、文字数は指定したもより少し増えたり減ったりします [ 訳注: 英語のように単語の間がスペースで区切られている言語でだけ有効です。日本語では通常、正常に動作しません ]。例:

`$string = "Here is a nice text string consisting of eleven words.";
$string = character_limiter($string, 20);
// 戻り値: Here is a nice text string…`

第3引数はオプションで、文字列に付加するサフィックスを指定します。デフォルトでは、省略記号(...) が付加されます。

## ascii_to_entities()

Web ページで使用されると問題を起こす拡張 ASCII 文字コードや MS ワードの文字を含む、ASCII の値を HTML の文字列エンティティに変換します。 こうすることで、ブラウザ設定にかかわらずいつも表示させることができ、あるいは、データベースに確かな状態で [値を変更して元の情報を失ってしまうことなく] 保存することができます。 サーバでサポートされる文字セットにいくらか依存しているので、すべてのケースで100%の信頼性はありません。 しかし、多くは、通常の範囲の外にある文字(たとえばアクセント記号)も正しく認識できます。例:

`$string = ascii_to_entities($string);`

## entities_to_ascii()

この関数は前述の関数と反対になります。つまり、文字列エンティティを ASCII に戻します。

## convert_accented_characters()

アクセント記号のついた ASCII 文字列を同等の ASCII 文字列に変換します。スタンダードな ASCII 文字列を使用しなければならないところ (例: URL) で役立ちます。

`$string = convert_accented_characters($string);`

このメソッドは変換の際に、設定ファイル application/config/foreign_chars.php で定義されている配列を使用します。

## word_censor()

テキストの文字を検閲できます。第1引数は、元の文字列になります。 第2引数は、許可しない単語の配列を指定します。第3引数(オプション)は、単語を置き換える文字列を指定します。 指定されない場合は、許可されない文字は、ナンバーサインで置き換えられます: ####。例:

`$disallowed = array('darn', 'shucks', 'golly', 'phooey');
$string = word_censor($string, $disallowed, 'Beep!');`

## highlight_code()

コード (PHP、HTML など)の文字列を色分けします。例:

`$string = highlight_code($string);`

この関数は、PHP の highlight_string() 関数を使いますので、php.ini ファイルで指定されている色が使用されます。

## highlight_phrase()

テキスト中のフレーズをハイライトします。 第1引数は対象の文字列で、第2引数にハイライトしたいフレーズを指定します。 第3、第4引数は、フレーズを囲みたい開始/終了タグを指定します。例:

`$string = "Here is a nice text string about nothing in particular.";
$string = highlight_phrase($string, "nice text", '<span style="color:#990000">', '</span>');`

上のテキストは下記のように返されます:

Here is a nice text string about nothing in particular.

## word_wrap()

指定した 文字数 の位置で、テキストを折り返します。単語の途中で折り返されません [ 訳注: 英語のように単語の間がスペースで区切られている言語でだけ有効です。日本語では通常、正常に動作しません ]。例:

`$string = "Here is a simple string of text that will help us demonstrate this function.";
echo word_wrap($string, 25);
// 次のように生成:
Here is a simple string
of text that will help
us demonstrate this
function`

## ellipsize()

この関数は文字列からタグを取り除き、指定された最大長に分割して省略記号を挿入します。

第1引数は省略する文字列、第2引数は省略語の文字列の長さ、第3引数は後半の文字列の開始位置を指定します。第3引数は、省略記号が現れる位置を0(左端)から1(右端)までの数値で指定します。 たとえば、1を指定すると省略記号は文字列の右端、.5なら真ん中、0なら左端になります。

オプションの第4引数では、省略記号を指定できます。デフォルトでは `&hellip;` が使用されます。

`$str = 'this_string_is_entirely_too_long_and_might_break_my_design.jpg';
echo ellipsize($str, 32, .5);` Produces: `this_string_is_e…ak_my_design.jpg`