ereg

(PHP 3, PHP 4 )

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

説明

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

この関数は、 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() の例

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() も参照下さい。