Замена первого/последнего значения в строке на PHP

Задача — заменить первое/последнее искомое значение в заданной строке.

В PHP много уделяется внимания работы со строками, но вот оптимального решения для этой задачи нет.

Функция str_replace, заменяет все значения, но может посчитать вам сколько замен произведено. preg_replace в принципе подходит, но оперирует с регулярными выражениями, и потому не оптимальна с точки зрения производительности.

Кроме того, как произвести замену, если цель — последнее вхождение $old_value?

Приходится конструировать следующие функции (обернем их в класс):

Два метода этого класса реализуют замену первого вхождения подстроки (replace_first) и последнего (replace_last).

Мало букафф? Читайте есчо !

Как пользоваться flock()?

Март 24, 2017 г.

Если вы решаете задачу конкурентного доступа к файлу (или какому то другому ресурсу) в PHP, и решили использовать flock() для этой цели, то вам понадобится верно представлять как работает механизм блокировки. Представим себе, что есть разные программные ...

Читать

Работаем с датами широкого диапазона в PHP

Январь 28, 2016 г.

Многие не задумываются при работе в PHP со стандартными функциями даты-времени о диапазоне их применимости (date(), time(), mktime() и т.п). Так мы можем скоро столкнуться с проблемой, подобная которой случалась уже раньше - "ошибка 2000". Я прекрасно ...

Читать

Как в PHP сделать буквы заглавными?

Сентябрь 13, 2016 г.

PHP обладает целым арсеналом работы со строками. Сделать буквы заглавными или наоборот перевести в строчные - нет ничего проще. Базовый набор функций для работы со строками содержит такие функции как: string strtolower ( string $string ); - ...

Читать

Импорт материалов из Instagram

Август 27, 2018 г.

У instagram есть API, который устареет до конца 2018 года. Всех пересаживают на новую платформу -  Instagram Graph API. Регистрация приложения на этой ...

Читать
 

Комментарии к «Замена первого/последнего значения в строке на PHP»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий: