mb_eregi

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

mb_eregiマルチバイトをサポートし、大文字小文字を無視した正規表現マッチ

説明

mb_eregi ( string $pattern , string $string [, array &$regs ] ) : int

マルチバイトをサポートし、かつ大文字小文字を無視した正規表現マッチを実行します。

パラメータ

pattern

正規表現のパターン

string

検索対象の string

regs

pattern の 括弧で囲まれた部分文字列にマッチする部分が見つかり、 かつ3番目の引数 regs が渡された場合、 マッチした部分が regs 配列に格納されます。 何もマッチしなかった場合、 regs には空の配列が設定されます。

$regs[1] には、最初の左括弧から始まる部分文字列が含まれます。 $regs[2] には、二番目の左括弧から始まる部分文字列が含まれます。 以後同様です。 $regs[0] には、マッチした文字列全体のコピーが含まれます。

返り値

patternstring に見つかった場合、 マッチした文字列の長さをバイト単位で返します。 何もマッチしなかったり、エラーが起きた場合は FALSE を返します。

オプションの regsが渡されなかったり、 マッチした文字列の長さが 0 だった場合、 この関数は 1 を返します。

変更履歴

バージョン 説明
7.1.0 mb_eregi() 関数は、何もマッチしなかった場合に regs に空の array を設定するようになりました。 これより前のバージョンでは、何もマッチしなかった場合に regs を変更しませんでした。

注意

注意:

内部エンコーディングあるいは mb_regex_encoding() で指定した文字エンコーディングを、 この関数の文字エンコーディングとして使用します。

参考

  • mb_regex_encoding() - 現在のマルチバイト正規表現用のエンコーディングを取得または設定する
  • mb_ereg() - マルチバイト対応の正規表現マッチ

add a note add a note

User Contributed Notes 3 notes

up
9
bubalula at gmail dot com
9 years ago
This function does not work - it is not case insensitive for non latin characters.
up
0
steve at brainwashstudios dot com
16 years ago
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.
up
-6
lasmit at what dot com
7 years ago
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
?>
To Top