あなたは、各コールのための1の制限値を指定して、preg_replace
への複数の呼び出しでこれを達成することができます:
$string = "Hi mom, hi dad";
preg_replace('/hi/i', 'mary', $str, 1); // "mary mom, hi dad"
preg_replace('/hi/i', 'john', $str, 1); // "mary mom, john dad"
あなたは次のようなものでこれを一般化することができます。これは、件名、パターン、および1つ以上の置換単語を取ります。
function replace_each($subject, $pattern, $replacement) {
$count = 0;
for ($i = 2; $i < func_num_args(); ++$i) {
$replacement = func_get_arg($i);
$subject = preg_replace($pattern, $replacement, $subject, 1, $count);
if (!$count)
// no more matches
break;
}
return $subject;
}
$string = preg_replace_each("Hi mom, hi dad", "/hi/i", "mary", "john");
echo $string; // "mary mom, john dad"
一つの疑問B、ホードは、「こんにちはお母さん、こんにちはお父さんを持って言うことができます、hi grampa "それはメアリーとジョンで再び始まるか、それともピーターになるだろうか? – Trufa