preg_replace() と同様、信頼できない入力に対しては、 e 修正子を使用しないでください。自動的なエスケープは行わないため、リモートコード実行の脆弱性があります。
書式
string mb_eregi_replace (
string ①$pattern ,
string ②$replace ,
string ③$value
[, string ④$option = "msr" ] )
引数
①
string $pattern
正規表現パターン。
②
string $replace
置換文字列。
③
string $value
調べたい文字列。
④
string $option
i …大文字・小文字が 区別されなくなります。
x …空白を無視。
m …マルチラインモード。改行も 正規表現"." に含まれるます。
p …POSIX モード。改行も通常文字とみなされます。
e …文字列引数 $replace がPHPの式として評価される。
返却値
成功時 : 置換結果の文字列。
失敗時 : FALSE
内部エンコーディングあるいは mb_regex_encoding() で指定した文字エンコーディングが、この関数の文字エンコーディングとなります。
mb_eregi_replace()と異なる点は、大文字小文字は区別しません。
サンプルコード
//mb_eregi_replace
$ret = mb_eregi_replace('A', '1', 'abcdefgABCDEFG') ;
print "$ret" ;
1bcdefg1BCDEFG
//mb_ereg_replace
$ret = mb_ereg_replace('A', '1', 'abcdefgABCDEFG') ;
print "$ret" ;
abcdefg1BCDEFG
$ret = mb_eregi_replace('(d+) (d+) (d+)', '3', '123 456 789') ;
print "$ret" ;
789