[PHP-users 13142] 最短一致の置換について

php-users@php.gr.jp php-users@php.gr.jp
Fri, 07 Feb 2003 21:48:58 +0900


大変お世話になっております。SAITO TAKAです。

最短一致での置換で行き詰っております。

'abc hoge aec'という文字列を、aをcで囲まれた範囲内で置換し、
結果を「 hoge 」にしたいのですが、

$text = "abc hoge abc";
$return = ereg_replace("a.+c","",$text);
print($return);

とすると 最初のaと最後のcに一致してすべて消えてしまいます。
こういった場合、どうすれば良いのでしょうか?


色々と調べてやってみましたが・・・

ereg_replace("a.+?c","",$text);
↑エラー【Warning: REG_BADRPT:"repetition-operator operand invalid in】

ereg_replace("a(.+)?c","",$text);
↑最初の例のように最初のaと最後のcに一致して全消去


つたない説明で申し訳ございません。
ご存知の方がいましたら、よろしければアドバイスをお願いします。