文字列の検索・置換

Posted by muchag | PHP | 2010-07-25 (日) 14:29:58

PHP
検索

// String 関数
int strpos ( string $haystack , mixed $needle [, int $offset = 0 ] )

文字列 haystack の中で、 needle が最初に現れた位置を数字で返します。
PHP 5 以前の strrpos() とは異なり、この関数は needle パラメータとして文字列全体をとり、 その文字列全体が検索対象となります。
位置を表す整数値を返します。 needle が見つからない場合、 strpos() は boolean FALSE を返します。

PHP マニュアル:strpos
 
// マルチバイト文字列 関数
int mb_strpos ( string $haystack , string $needle [, int $offset [, string $encoding ]] )

ある文字列の中で別の文字列が最初に現れる位置を見つけます。

PHP マニュアル:mb_strpos

 

置換

// String 関数
mixed substr_replace ( mixed $string , string $replacement , int $start [, int $length ] )

文字列 stringの start および (オプションの) length パラメータで区切られた部分を replacement で指定した文字列に置換します。
結果の文字列を返します。もし、string が配列の場合、配列が返されます。

PHP マニュアル:substr_replace

 

正規表現

正規表現

  1. $subject = "abcdef";
  2. $pattern = '/^def/';
  3. preg_match($pattern, substr($subject,3), $matches, PREG_OFFSET_CAPTURE);
  4. print_r($matches);
  5.  
  6. // Array
  7. // (
  8. //     [0] => Array
  9. //         (
  10. //             [0] => def
  11. //             [1] => 0
  12. //         )
  13. // )

PHP 5.3.0 以降、 regex 拡張モジュールは非推奨となったので除外。

/* 検索 */
// PCRE 関数 — 正規表現 (Perl 互換)
int preg_match ( string $pattern , string $subject [, array &$matches [, int $flags [, int $offset ]]] )

pattern で指定した正規表現により subject を検索します。
pattern がマッチした回数を返します。

PHP マニュアル:preg_match
 
// マルチバイト文字列 関数
bool mb_ereg_match ( string $pattern , string $string [, string $option = “msr” ] )

マルチバイト文字列に対する正規表現マッチングを行います。
string が正規表現 pattern に一致する場合にTRUE 、 そうでない場合に FALSE を返します。

PHP マニュアル:mb_ereg_match
 
 
/* 置換 */
// PCRE 関数 — 正規表現 (Perl 互換)
mixed preg_replace ( mixed $pattern , mixed $replacement , mixed $subject [, int $limit = -1 [, int &$count ]] )

subject に関して pattern を用いて検索を行い、 replacement に置換します。
subject 引数が配列の場合は配列を、 その他の場合は文字列を返します。

PHP マニュアル:preg_replace
 
// マルチバイト文字列 関数
string mb_ereg_replace ( string $pattern , string $replacement , string $string [, string $option = “msr” ] )

string から pattern にマッチする文字列を探し、 見つかった文字列を replacement で置換します。
成功した場合に結果の文字列、エラー時に FALSE を返します。

PHP マニュアル:mb_ereg_replace

 

チェック

PHP は、文字列検索・置換関数がたくさんあるので、一番代表例となるものを挙げた。
詳細はマニュアルをチェック。

PHP マニュアル
String 関数
PCRE 関数
マルチバイト文字列 関数

PHP | 2010-07-25 (日) 14:29:58 |

コメントはまだありません »

No comments yet.

RSS feed for comments on this post. TrackBack URI

Leave a comment