[PHP-users 28815] Re: 正規表現に関する質問
西浦智明
tomoaki_nishiura @ dwango.co.jp
2006年 3月 25日 (土) 14:37:08 JST
お疲れ様です。
西浦です。
> とかはちゃんと出ます。どうも\を入れるとダメみたいです。
> マルチバイトでないときはうまくいきました。
\\2の\は必要ですが、\(の\はここでは必要ありません.
「マルチバイトでないときは」と書かれているので、
マルチバイト文字用の関数、mb_ereg_replace を使用すれば
解決するのではないでしょうか?
ちなみにreg_replaceを使用するのであれば{6}では足りません.
SJISで10バイトです.
$test = ereg_replace(
"(^[約定金額: ]{10})([0-9円]+).*",
"\\2",
$test
);
mb_ereg_replaceで書くなら{6}でOKです.
mb_regex_encoding( "SJIS" );
$test = mb_ereg_replace(
"(^[約定金額: ]{6})([0-9円]+).*",
"\\2",
$test
);
西浦 智明
PHP-users メーリングリストの案内