テキストヘルパー¶
テキストヘルパーのファイルは、テキストを処理するのに役立つ関数で構成さ れています。
利用できる機能¶
次の関数が利用できます:
- word_limiter($str[, $limit = 100[, $end_char = '…']])¶
パラメータ: - $str (string) – 入力文字列
- $limit (int) – 表示する単語の上限数
- $end_char (string) – 終端文字(通常省略記号(…))
返り値: 単語数で制限された文字列
返り値の型: string
指定した 単語 数で、文字列を切り詰めます。[ 訳注: 英語のように単語の間がスペースで区切られている言語でだけ有効です。日本語では通常、正常に動作しません ]。例:
$string = "Here is a nice text string consisting of eleven words."; $string = word_limiter($string, 4); // Returns: Here is a nice
第3引数はオプションで、文字列に付加するサフィックスを指定します。 デフォルトでは、省略記号(...)が付加されます。
- character_limiter($str[, $n = 500[, $end_char = '…']])¶
パラメータ: - $str (string) – 入力文字列
- $n (int) – 文字数
- $end_char (string) – 終端文字(通常省略記号(…))
返り値: 文字数で制限された文字列
返り値の型: string
指定した 文字 数の位置で文字列を切り詰めます。単語の途中で切り詰められないようになっていますので、 文字数は指定したもより少し増えたり減ったりします [ 訳注: 英語のように単語の間がスペースで区切られている言語で だけ有効です。日本語では通常、正常に動作しません ]。
例:
$string = "Here is a nice text string consisting of eleven words."; $string = character_limiter($string, 20); // Returns: Here is a nice text string
第3引数はオプションで、文字列に付加するサフィックスを指定します。 デフォルトでは、省略記号(...)が付加されます。
注釈
正確な文字数で切り詰めたいのであれば、 以下の ellipsize() を見てください。
- ascii_to_entities($str)¶
パラメータ: - $str (string) – 入力文字列
返り値: ASCII 文字コードを HTML エンティティに変換した文字列 string
Web ページで使用されると問題を起こす拡張 ASCII 文字コードや MS ワードの文字を含む、ASCII の値を HTML の文字列エンティティに変換します。 こうすることで、ブラウザ設定にかかわらずいつも表示させることができ、 あるいは、データベースに確かな状態で [値を変更して元の情報を失ってしまうことなく] 保存することができます。 サーバでサポートされる文字セットにいくらか依存しているので、すべてのケースで 100%の信頼性はありません。 しかし、多くは、通常の範囲の外にある 文字(たとえばアクセント記号)も正しく認識できます。
例:
$string = ascii_to_entities($string);
- convert_accented_characters($str)¶
パラメータ: - $str (string) – 入力文字列
返り値: A string with accented characters converted string
アクセント記号のついた ASCII 文字列を同等の ASCII 文字列に変換します。 スタンダードな ASCII 文字列を使用しなければならないところ(例: URL)で英語以外の文字列が使われていた場合に役立ちます。
例:
$string = convert_accented_characters($string);
注釈
このメソッドは変換の際に、設定ファイル application/config/foreign_chars.php で定義されている 配列を使用します。
- word_censor($str, $censored[, $replacement = ''])¶
パラメータ: - $str (string) – 入力文字列
- $censored (array) – 禁止したい単語の配列
- $replacement (string) – 禁止したい単語を置き換える文字列
返り値: 検閲後の文字列 string
テキストの文字を検閲できます。第1引数は、元の文字列になります。 第2引数は、許可しない単語の配列を指定します。第3引数(オプション)は、 単語を置き換える文字列を指定します。 指定されない場合は、許可されない文字は、 ナンバーサインで置き換えられます: ####。
例:
$disallowed = array('darn', 'shucks', 'golly', 'phooey'); $string = word_censor($string, $disallowed, 'Beep!');
- highlight_code($str)¶
パラメータ: - $str (string) – 入力文字列
返り値: HTML をハイライトしたコードを含む文字列
返り値の型: string
コード(PHP 、 HTML など)の文字列を色分けします。例:
$string = highlight_code($string);
この関数は、PHP の highlight_string() 関数を使いますので、php.ini ファイルで指定されている色が使用されます。
- highlight_phrase($str, $phrase[, $tag_open = '<mark>'[, $tag_close = '</mark>']])¶
パラメータ: - $str (string) – 入力文字列
- $phrase (string) – ハイライトしたいフレーズ
- $tag_open (string) – ハイライトのための開始タグ
- $tag_close (string) – ハイライトのための終了タグ
返り値: HTML をハイライトしたフレーズを含む文字列
返り値の型: string
テキスト中のフレーズをハイライトします。 第1引数は元の文字列で、 第2引数にハイライトしたいフレーズを指定します。 第3、第4引数は、フレーズを囲みたい開始/終了タグを 指定します。
例:
$string = "Here is a nice text string about nothing in particular."; echo highlight_phrase($string, "nice text", '<span style="color:#990000;">', '</span>');
上のテキストは下記のように出力されます:
Here is a <span style="color:#990000;">nice text</span> string about nothing in particular.
注釈
この関数はデフォルトで <strong> タグを使います。古いブラウザは 新しい HTML5 の新しい mark タグをサポートしていない可能性があります。 もしそのようなブラウザをサポートしたいのであれば、 スタイルシートの中に 以下の CSS コードを書き加えることを推奨します。:
mark { background: #ff0; color: #000; };
- word_wrap($str[, $charlim = 76])¶
パラメータ: - $str (string) – 入力文字列
- $charlim (int) – [ 改行の目安となる ] 文字の上限数
返り値: ワードラップされた文字列
返り値の型: string
指定した 文字 数の位置で、テキストを折り返します。 単語の途中で折り返されません [ 訳注: 英語のように単語の間がスペースで区切られている言語でだけ有効です。日本語では通常、正常に動作しません ]。
例:
$string = "Here is a simple string of text that will help us demonstrate this function."; echo word_wrap($string, 25); // Would produce: // Here is a simple string // of text that will help us // demonstrate this // function.
- ellipsize($str, $max_length[, $position = 1[, $ellipsis = '…']])¶
パラメータ: - $str (string) – 入力文字列
- $max_length (int) – 文字列の上限数
- $position (mixed) – [ 省略記号との ]分割位置(整数または小数)
- $ellipsis (string) – 省略記号(…)
返り値: 省略された文字列
返り値の型: string
この関数は文字列からタグを取り除き、指定された最大長に分割して省略記号 を挿入します。
第1引数は省略する文字列、第2引数は最終的な文字列の長さ、 第3引数は後半の文字列の開始位置を指定します。 第3引数は、省略記号が現れる位置を0(左端)から1(右端)までの数値で指定します。 たとえば、1を指定すると省略記号は文字列の右端、 .5なら真ん中、0なら左端になります。
オプションの第4引数では、省略記号を指定できます。デフォルトでは … が使用されます。
例:
$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