Для указания числа замен и выбора направления (с начала или с конца "начинать заменять"), можно использовать такую функцию:
/**
* Выполнит замену с использованием str_replace,
* но есть возможность:
* + ограничить (указать) число замен
* + указать с начала или с конца начинать заменять фрагменты (акутально если число замен ограничено)
*
* @param string $oldpattern - РЕГУЛЯРНОЕ выражение - шаблон подстрок, которые нужно заменить
* @param string $new - на что заменять
* @param string $where - где заменять