Util

クラス: Peach_Util_Strings

定義: /Peach/Util/Strings.php

文字列処理に関するユーティリティクラスです

メソッド

メソッド 詳細

static basedir

line 96

static string basedir(string $basedir)

指定された文字列を基底ディレクトリに変換します.

引数が空文字列か, '/' で終わる文字列の場合は引数をそのまま返します. それ以外の場合は, 引数の末尾に '/' を連結した文字列を返します.

Tags

  • return : 基底ディレクトリ名
  • access : public

Parameters

string $basedir 変換対象の文字列

static endsWith

line 176

static bool endsWith(string $text, string $suffix)

ある文字列が指定された文字列で終了しているかどうかを判別します.

$suffix が空文字列の場合は TRUE を返します. 引数が文字列以外の場合は Peach_Util_Values::stringValue() が適用されます.

Tags

  • return : 引数 $text の末尾が $suffix に等しい場合に TRUE
  • access : public

Parameters

string $text 検査対象の文字列
string $suffix 終了する文字列

static endsWithRawChar

line 204

static bool endsWithRawChar(string $text, string $chr)

ある文字列が指定された文字で終了して, かつエスケープ処理されていないかを判別します.

以下に例を示します.

  • ("[ABC]", "]") => TRUE
  • ("[ABC\\]", "]") => FALSE ("\\" がその後ろの "]" をエスケープしているとみなされる)
  • ("[ABC\\\\]", "]") => TRUE ("\\\\" が一つの文字として扱われるため, 直後の "]" に影響しない)

Tags

  • return : 引数 $text の末尾が, '\' でエスケープされていない $chr で終了している場合のみ TRUE
  • access : public

Parameters

string $text 検査対象の文字列
string $chr 検査対象の文字

static explode

line 52

static array explode(string $separator, string $value)

内部関数の explode() のカスタム版です.

基本的にはオリジナルの explode() と同じですが, 以下の点が異なります.

  • $separator が空文字列の場合に空の配列を返す (オリジナルは FALSE を返す)
  • $value が文字列以外の場合, Peach_Util_Values::stringValue() の結果を使用する (オリジナルは単純に string にキャストした結果を使うため, オブジェクトを引数に指定した時の挙動が PHP 5.1 と 5.2 以降で異なる)

引数をどのように指定しても, 返り値が必ず配列型になることが特徴です.

Tags

  • return : セパレータが見つからないときは長さ 1 の配列, 対象が空文字列の場合は空の配列, それ以外は explode() と同じ.
  • access : public

Parameters

string $separator セパレータ
string $value 対象文字列

static getLines

line 72

static array getLines(string $str)

指定された文字列を行単位で分割します.

引数の文字列を CR, LF, CRLF で分割し, 結果の配列を返します. 結果の配列の各要素に改行コードは含まれません.

Tags

  • return : 行単位で分割された文字列の配列
  • access : public

Parameters

string $str 分割対象の文字列

static getRawIndex

line 130

static int getRawIndex(string $text, string $chr)

指定された文字列の中で、"\" によるエスケープ処理のされていない文字列があらわれる 最初のインデックスを返します.

偶数個の "\" が続いた後に対象の文字列が出現した場合に、そのインデックスを返り値とします. 奇数個の "\" の後の文字については, その直前の "\" によってエスケープされているとみなして スルーします. 以下に例を示します.

 getRawIndex("AB=CD=EF", "=")     => 2
                     getRawIndex("AB\\=CD=EF", "=")   => 6
                     getRawIndex("AB\\\\=CD=EF", "=") => 4

インデックスが存在しない場合は FALSE を返します.

Tags

  • return : インデックス. ただし存在しない場合は FALSE
  • access : public

Parameters

string $text 検索文字列
string $chr 検索対象の文字

static isWhitespace

line 83

static bool isWhitespace(string $str)

指定された文字列が空白文字の集合からなる文字列かどうかを返します.

Tags

  • return : 引数が NULL, 空文字列, "\r", "\n", "\t", 半角スペースから成る文字列の場合に TRUE, それ以外は FALSE
  • access : public

Parameters

string $str 検査対象の文字列

static startsWith

line 152

static bool startsWith(string $text, string $prefix)

ある文字列が指定された文字列で始まっているかどうかを判別します.

$prefix が空文字列の場合は TRUE を返します. 引数が文字列以外の場合は Peach_Util_Strings::stringValue() が適用されます.

Tags

  • return : 引数 $text の先頭が $prefix である場合に TRUE
  • access : public

Parameters

string $text 検査対象の文字列
string $prefix 開始する文字列

static template

line 228

static string template(string $template, [array $args = array()])

文字列内に含まれる {0}, {1}, {2} などのテンプレート変数を, $args 内の各要素で置き換えます. 例えば

  1.  template('My name is {0}. I am {1} years old'array('Taro'18));

の結果は次のようになります.

  1.  "My name is Taro. I am 18 years old"

$template が NULL の場合は NULL を返します.

Tags

  • return : テンプレートの適用結果
  • access : public

Parameters

string $template テンプレート
array $args 置き換える内容の配列