ereg

(PHP 3, PHP 4 , PHP 5)

ereg -- 正規表現にマッチさせる

説明

bool ereg ( string pattern, string string, array [regs])

注意: Perl互換の正規表現構文を使用するpreg_match()の 方が、多くの場合、ereg()よりも速く動作します。

この関数は、patternで指定した正規表現 によりstringを検索します。

patternの括弧でくくられた部分文字列に マッチし、かつこの関数が3番目の引数regsを指定 してコールされた場合、マッチした部分が配列regs に格納されます。$regs[1]は最初の左括弧が始まる部分文字列を保持、 $regs[2]は二番目の左括弧が始まる部分文字列を保持、...、 といったようになっています。$regs[0]は stringのコピーを保持しています。

注意: PHP 4.1.0より前のバージョンでは、$regsにはちょ うど10個の要素が代入されました。これは、実際にマッチした括弧付き のサブ文字列が10より多くても少なくても同じでした。ただし、 ereg()にはより多くの部分文字列にマッチする能 力があります。マッチするものが見付からなかった場合、 $regsは、ereg()により書き 換えられません。

検索においては、大文字と小文字を区別します。

stringの中でpattern がマッチするとTRUEを返し、マッチしなかった場合またはエラーとなっ た場合はFALSEを返します。

以下のサンプルコードは、ISOフォーマット(YYYY-MM-DD)で格納 されている日付をDD.MM.YYYYフォーマットで表示するものです。

例 1. ereg()の例

<?php
if (ereg ("([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})", $date, $regs)) {
    echo
"$regs[3].$regs[2].$regs[1]";
} else {
    echo
"Invalid date format: $date";
}
?>

eregi(), ereg_replace(), eregi_replace(), preg_match(), strpos(), strstr()も参照下さい。