2009年5月1日金曜日

preg_replaceでマッチした文字列を関数で操作して置換したい

preg_replace("pattern", strtolower('$1') ,$str);
こんな感じでマッチした文字列を小文字にして置換したかったんですが、いろいろ試してみたけど挫折しました。
http://q.hatena.ne.jp/1149983795
このページなどを参考にしてpreg_replaceについて勉強しながらやってみたんですけど、どうにもうまくいきませんでした。
preg_replace("pattern", testFunc('$1') ,$str);
function testFunc($str){
echo $str;exit;
}

試しに↑を書いて動かしてみたんですが、結果は「$1」になってしまいます。
変数の参照渡しとかスコープとかの問題もからんでるようです。
もうちょっと調べてもよかったんですけど、時間の余裕がなくなってきたのでまわりくどいやり方で逃げました。。

0 件のコメント:

コメントを投稿