[PHP-users 20444] Re: 再帰(?)正規表現置換について

Eiji Miwa miwa @ offside.ne.jp
2004年 2月 19日 (木) 04:05:51 JST


 ミワです。
 #悔しいのでリベンジ。
On 2004年02月19日, at 1:05, Eiji Miwa wrote:
>> すいません。複雑になるとうまくいかないみたいです。
> (((?>.+?)|(?R))*?) の .+? の部分を、もっとちゃんと書かないと
> 駄目みたいですね。

 $nest = 1;
 $pattern = array_fill ( 0, $nest,
 '/<!--{(def\s+([A-Za-z][A-Za-z0-9_]*))}-->'.
 '(((?>(?:(?!\/?1円).)+?)|(?R))*?)'.
 '<!--{\/def\s+2円}-->/s' );
 $replacement = array_fill ( 0, $nest,
 '<?php if (@count($2円)) { ?>3円<?php } ?>' );
 $result = preg_replace ( $pattern, $replacement, $str );
 まだまだ問題点はいっぱいありますが、
 これなら、割とまともに動きそうです。
--
 miwa at offside.ne.jp


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

AltStyle によって変換されたページ (->オリジナル) /