例:
string1="ah ah I love you ah ah ah ah";
交換後:
string1="ah ah I love you ah thank you ah ah";
上記は、4 番目の「ああ」を「ありがとう」に置き換える必要があることを意味します。
上記のタスクを PHP でコーディングする方法がわかりません。手伝って頂けますか?
$string = "ah ah I love you ah ah ah ah";
echo preg_replace_callback('/ah/', function($m) {
static $count = 0;
if(++$count == 4) return 'thank you';
else return $m[0];
}, $string);
仕組み:ah
一致するたびに、コールバック関数が呼び出されます。静的$count
変数が増加し、4 回目の一致の場合は置換文字列を返します。それ以外の場合は、最初に一致した文字列を返します。