Я пытаюсь удалить слово «Джон» определенное количество раз из строки. Я прочитал в руководстве по PHP, что str_replace исключает 4-й параметр, называемый "count". Поэтому я решил, что это можно использовать, чтобы указать, сколько экземпляров поиска следует удалить. Но, похоже, это не так, поскольку следующее:
$string = 'Hello John, how are you John. John are you happy with your life John?';
$numberOfInstances = 2;
echo str_replace('John', 'dude', $string, $numberOfInstances);
заменяет все вхождения слова "Джон" на "чувак" вместо того, чтобы делать это только дважды и оставляя двух других Джонов в покое.
Для моих целей не имеет значения, в каком порядке происходит замена, например, первые 2 экземпляра могут быть заменены, или последние два или комбинация, порядок замены не имеет значения.
Так есть ли способ использовать str_replace () таким образом, или есть другая встроенная (не-regex) функция, которая может достичь того, что я ищу?