CodeIgniter ユーザガイド 日本語版 Version 1.7.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に戻します。

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