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

ISIGE, Akira xia @ silvia.com
2004年 6月 6日 (日) 09:25:21 JST


いしげ です.

On 2004/06/06 6:38:39 JST,
Seto <seto @ 1kg.jp> wrote:

> >完全な汎用性を求めると,
> ><?php
> >echo str_replace("%$replace", '%1', str_replace('%1', $replace, $string));
> >?>
> こちらは元データに "%" . $replace に相当するものが入っていると
> 期待する結果と違ってしまうと思います。

あぁ……そうですね.見落としていました.


> %%1 で explode して 各配列データの %1 を $replace に置き換えかな。。。

こんな感じ↓ですね.
<?php
echo join('%1', str_replace('%1', $replace, split('%%1', $string)));
?>

ただし str_ と preg_ は $subject に配列を指定可能ですが,
ereg_ と mb_ereg_ は文字列しか受け取らないようなので,
その場合には foreach() 等で回す必要がありそうです.


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


--
ISIGE, Akira



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