2012-02-09 6 views
0

に交換:私は上の$ですべての#を置き換えることができますどのようにこのパターンでは第三試合

$pattern = '/(\s*)@(if|foreach)(\s*\(.*\))/'; 

(。\)は* *(S)これは、後で使用されます。

preg_replace($pattern, '$1<?php $2$3: ?>', $value); 

答えて

1

あなたはpreg_replace_callbackを探しています。

ここで、置換えを返すanonymous functionを定義して、グループ3で追加のタスクを実行し、必要に応じて置換えを作成できるようにすることができます。第2のリンクの例から

<?php 
echo preg_replace_callback('~-([a-z])~', function ($match) { 
    return strtoupper($match[1]); 
}, 'hello-world'); 
// outputs helloWorld 
?> 

あなたはこのようにグループ3にアクセスできることを確認できます。$match[3]

+0

どのように私は$ 3、$ 2にアクセスすることができるでしょうか?ここで私が持っているものだ:\t \t preg_replace_callback($パターン、機能($マッチ){ \t \t \tリターン "???"; \t \t}、$値); – oaziz

+0

@oaziz私は2番目のリンクの内容で自分の答えを更新しました。 – stema

関連する問題