[PHP-dev 522] Re: [Fwd: Japanese: mb_split broken?]

Tsukada Takuya php-dev@php.gr.jp
Thu, 3 Oct 2002 09:15:49 +0900 (JST)


こんにちは、塚田と申します。

小泉さん:
> 
> mb_ereg_replace() も同様に、デフォルトでは拡張モードですので、
> 
> <?php echo mb_ereg_replace( ' ', '-', 'a b c d e' ); ?>
> 
> とやると、妙な結果を得ます。

確かに予想外の結果なのかもしれませんが、
空の正規表現だと、幅がゼロの部分にマッチするので、
そのままでは無限になってしまいます。
なので、そういう場合は、1文字先から繰り返すように
改修した記憶があります。
これが理論的に正しいのかは自信がありません。

> 
> <?php echo mb_ereg_replace( ' ', '-', 'a b c d e', '' ); ?>
> 
> とすると大丈夫です。
> これは、ドキュメントの問題のような気がします。
> 
> しかし、分かりにくすぎるので、そもそも拡張モードの挙動を
> 変更した方がいいと思うのですが、どうでしょうか?
> 

正規表現ライブラリの方を変更するのは反対です。
x オプション自体は必要な場合もあると思います。


-- 
sender: Tsukada Takuya (塚田 卓也)
town: inaba hizume, Nagano City (長野市稲葉日詰)