作成日:2019-11-12, 更新日:2019-11-12
サンプル
// 置き換え対象文字列 $repChar = '{{hoge}}'; // 対象文字列 $content = $repChar.'はdefで'.$repChar.'だ。それが'.$repChar.'なのだ。'.$repChar; // 正規表現用にエスケープ $preg = str_replace(array('{','}'), array("\\{","\\}"), $repChar); // 前から順番に連番を割り振っていく $num = 1; $content = preg_replace_callback( '/'.$preg.'/u', function($matches) use(&$num){ return $num++; }, $content ); echo $content;
※「return $num++;」のトコに好きな文字をすれば色々とできる。「return $matches[0] . '_' . $num++;」や「return '('.$num++.')';」みたいな感じ。