2017-06-23 17 views
1

少し助けが必要です。私は、文字列があります。この例ではPHPでpreg_replaceをどのように使用しますか?

$str = "{{abc}} {{cde}}"; 

$str = preg_replace('/({{\w+}})/', '$1', $str); 

echo $str; //{{abc}} {{cde}} 

をしかし、私は、各{{string}}がちょうどstringを返します欲しいです。上の例ではabc cdeを返します。

+0

注 '{'と '}'正規表現の特殊文字で、エスケープする必要があります。他の式で期待した動作を得られない可能性があります。 – chris85

答えて

3

ただ、唯一のあなたが欲しいものをキャプチャする括弧(キャプチャグループを)移動:

$str = preg_replace('/{{(\w+)}}/', '$1', $str); 
+0

その仕事。ありがとうございました:) –

+0

私は配列 $配列=配列( \t 'ABC' => 'テスト1'、 \t 'CDE' => 'テスト2' )を持っている場合。 $ str = preg_replace( '/ {{(\ w +)}} /'、$ array ['$ 1']、$ str); この作業を行う方法はありますか。 {{abc}}は$ array ['abc']を返しますか? –

+0

@ chris85あまりにも速い:)。それらの答えにそのように記載されていませんでした – shalvah

関連する問題