テキストヘルパ
テキストヘルパのファイルは、テキストを処理するのに役立つ関数で構成されています。
ヘルパのロード
このヘルパは次のコードを使ってロードします:
$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