[PHP-users 22023]Re: mb_ereg_replaceでパターンの特定回数マッチ

designo @ agate.plala.or.jp designo @ agate.plala.or.jp
2004年 6月 6日 (日) 13:01:12 JST


designo です。

> designo です。
> 
> > いしげ です.
> (snip)
> > こんな感じ↓ですね.
> > <?php
> > echo join('%1', str_replace('%1', $replace, split('%%1', $string)));
> > ?>
> > 
> > ただし str_ と preg_ は $subject に配列を指定可能ですが,
> > ereg_ と mb_ereg_ は文字列しか受け取らないようなので,
> > その場合には foreach() 等で回す必要がありそうです.
> 
> では、以下のようにするのはいかがでしょうか?
> 
> $patterns = array("/(^|\b)%1/", "/%%1/");
> $replacements = array("テスト", "%1");
> echo preg_replace($patterns, $replacements, $subject);
> 
> # まだまだ穴があるかもしれません。どうぞ突っこんでください。

ちょっと間違っていました。

$patterns = array("/([^%]|^|\b)%1/", "/%%1/");
$replacements = array("$1FOO", "%1");

> > # > # むちゃくちゃ力技ですね。。。
> > # 似たようなものをどこかで見たような,と思って調べたら,
> > # PEAR の MDB でやっていました.
> > # 公認の力技,というものでしょうか(w
> 
> # ときには力技も必要ではないでしょうか。


--------
designo <designo @ agate.plala.or.jp>



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