[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 メーリングリストの案内