This function does not work - it is not case insensitive for non latin characters.
(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)
mb_eregi — マルチバイトをサポートし、大文字小文字を無視した正規表現マッチ
マルチバイトをサポートし、かつ大文字小文字を無視した正規表現マッチを実行します。
pattern
正規表現のパターン
string
検索対象の string
matches
pattern
の
括弧で囲まれた部分文字列にマッチする部分が見つかり、
かつ3番目の引数 matches
が渡された場合、
マッチした部分が matches
配列に格納されます。
何もマッチしなかった場合、
matches
には空の配列が設定されます。
$matches[1] には、最初の左括弧から始まる部分文字列が含まれます。 $matches[2] には、二番目の左括弧から始まる部分文字列が含まれます。 以後同様です。 $matches[0] には、マッチした文字列全体のコピーが含まれます。
string
内に pattern
にマッチする文字列があるかを返します。
バージョン | 説明 |
---|---|
8.0.0 |
この関数は、成功時に true を返すようになりました。
これより前のバージョンでは、
string 内に pattern
にマッチする文字列が存在し、かつ matches が渡された場合、
マッチした文字列のバイト長を返していました。
matches が渡されなかった場合、
あるいはマッチした文字列の長さが 0 だった場合、
この関数は 1 を返していました。
|
7.1.0 |
mb_eregi() 関数は、何もマッチしなかった場合に
matches に空の配列を設定するようになりました。
これより前のバージョンでは、何もマッチしなかった場合に
matches を変更しませんでした。
|
注意:
内部エンコーディングあるいは mb_regex_encoding() で指定した文字エンコーディングを、 この関数の文字エンコーディングとして使用します。
This function does not work - it is not case insensitive for non latin characters.
When this function is perfected, and is not experimental, it may be very usefull in the searching and pinpointing of places inside large text files.
I simulated it:
<?php
$text = 'Äpfel';
mb_internal_encoding( 'utf-8' );
printf( "%d\n", mb_eregi( 'äpfel', $text ) ); // Output: 0
printf( "%d\n", mb_ereg( 'äpfel', mb_strtolower( $text ) ) ); // Output: 1
printf( "%d\n", mb_eregi( 'äpfel', mb_strtolower( $text ) ) ); // Output: 1
?>