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

UNO Shintaro uno @ venus.dti.ne.jp
2004年 2月 19日 (木) 23:43:00 JST


> 最初に、' を ' に変換しておき、

なるほど、それでいけそうですね。
テンプレート上で'と書いてあるものをもし変換せず保ちたかったら、
先に&→&、最後に&→&、の変換を一発入れるといいかなと思います。

> それから、もう一点気づいたことは、配列を再帰処理部分にも渡すと、すでに置
> 換済みの処理を再度実行しますね。コードの量は短く、すっきりしますが、処理
> 速度的にはいけてません。テンプレートのパースのように、一度っきりならいい
> でしょうが、通常使う場合は、要注意かもしれません。

今回の話に限ると、再帰処理の場面では「そのパターン」のみが適用できればいい
と思うので、replacement部分で「preg_replace(\$p[1], \$r[1], ...)」のように
添え字を直接指定する手で無駄が省けると思います。姑息な手段ですけれど。


> いえ、単に式の結果を捨てたいだけなんですが。

arrayの応用を幾つか考えてみましたが、その中で実際に機能した方法はこれです。
function last(){return array_pop(func_get_args())}
echo last(1,2,3,4,5);

ちなみに echo array_pop(array(1,2,3,4,5)); とかはエラーになりました。

最新実装、のちほど拝見します。m(_ _)m

-- 
UNO Shintaro, 宇野 信太郎
mailto:uno @ venus.dti.ne.jp
http://www.venus.dti.ne.jp/~uno/



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