[PHP-users 33109] Re: mb_ereg_replace について

ysmatumoto @ msoft.co.jp ysmatumoto @ msoft.co.jp
2008年 1月 16日 (水) 18:11:35 JST


まつもと@入谷です。

どうしても気になってしまったので……

> mb_ereg_replace は改行文字(\n)も正規化文字(.)に含めるオプションがありま
> すので、これを使うと便利なのですが、
> $num = mb_ereg_replace( "(.*申込番号  ?)(\d{1,5})( ? .*)",
> "$2", $rtn, "m" ) ;
> としてやると、$num に "$2" と入ってしまって、2個目のマッチした文字に置き
> 換わりません。

> $num = mb_ereg_replace( "(.*申込番号  ?)(\d{1,5})( ? .*)",
> "$2", $rtn, "m" ) ;
  ^^^^ ここは、\\2 ではありませんか?

$2 などで置き換えられるというのは見たことが無いもので……

http://jp2.php.net/manual/ja/function.ereg-replace.php

ereg_replaceのマニュアル中のreplacementでも、\\xで置き換えられるとあるので、
mb系の関数でも同じだと思うのですが。

いかがでしょうか?





PHP-users メーリングリストの案内